GoFarm is an Application Development Framework for especially a Backend Developer with Golang. Our goal is to develop easier, standardized, and faster than you code from scratch. Simplify the interface and logic structure for an easy-to-maintain project.
GoFarm lets you create a better project, decreasing the learning curve and minimizing the amount of code needed. Let's contribute and make it better :)
We need some components to support Build & Deploy working well. Need to install:
For GoFarm Assistant / CLI:
go install github.com/0to1a/gofarm-assistant@latest
For database generator:
go install github.com/volatiletech/sqlboiler/v4@latest
go install github.com/volatiletech/sqlboiler/blob/master/drivers/sqlboiler-mysql@latest
go install github.com/volatiletech/sqlboiler/v4/drivers/sqlboiler-psql@latest
go install github.com/volatiletech/sqlboiler/v4/drivers/sqlboiler-sqlite3@latest
Git clone from this repository or download here. To build use:
go build .
For download all dependencies, you can use:
go get ./...
- Rapid Development: Analyzed behavior & Designed for Backend Engineer. Make better to maintain and rapid development. Reuse your modules and connect the dot quickly.
- Performance First: Framework with a small footprint, make it not costly for production-grade.
- Dual-Architecture: Using Microservices concept, but can deploy as single apps / Monolith. Just move the module to a new project, and the app will separate & become a microservice.
- Structured: Single pattern of writing code (like MVC), makes other developers read & maintain easily. Minimizing the learning curve is our focus.
- Clean Deployment: Focus on a clean structure to make the sure better deployment.
Golang version 1.16+ and Go-Mod supported.
- Better logging system
- GoFarm Assistant, like PHP Artisan-Laravel / Lumen
- Continuable framework scaling & dependency module
- Unit test, framework coverage
- Unit test, project structure
- Database migration pattern / tools
- Postgres database connection
- Sqlite database connection
- Usage Documentation & Best-practice guidance
- Support Docker deployment
- Serverless Architecture deployment
- Redis connection
- Built-in cron job
You can find on GitHub's Release
- Use issues for idea, bug, issue, or everything in your mind
- For small change, please use PR
- Help us on test, documentation, and create examples usage
- Please improve this project to make better framework
- github.com/labstack/echo
- github.com/go-sql-driver/mysql
- github.com/doug-martin/goqu
- github.com/golang-jwt/jwt
- github.com/go-co-op/gocron
- github.com/go-redis/redis
- github.com/volatiletech/sqlboiler
- github.com/golang-migrate/migrate