GoFarm is an Application Development Framework for especially Backend Developer with Golang. Our goal is to develop easier, standardized, and faster than you code from scratch. Simplify interface and logic structure for easy-to-maintain project.
GoFarm lets you create better project, decrease 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:
Still in progress
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.
- Performance First: Framework with a small footprint, make it not costly for production-based.
- Dual-Architecture: Using Microservices modular concept, but can deploy as single apps / Monolith. Just move module to new project, apps will separate & being microservice.
- Structured: Single pattern of writing code (like MVC), make other developer read & maintain easily. Minimize learning curve is our focus.
- Clean Deployment: Focus on clean structure for make sure better deployment.
Golang version 1.16+ and Go-Mod supported.
- Better logging system
- GoFarm Assistant, like PHP Artisan-Laravel / Lumen
- Continuable framework scaling
- 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/jmoiron/sqlx
- github.com/golang-jwt/jwt
- github.com/go-co-op/gocron
- github.com/go-redis/redis
- github.com/volatiletech/sqlboiler