A powerful, flexible, and zero-configuration Go framework for building modern backend and fullstack applications. Download and start coding right away!
- π Zero Configuration: Download and run with a simple
go run .
- start coding immediately! - ποΈ Flexible Architecture: MVC by default, but adaptable to any architecture pattern
- π Built-in Authentication: Includes "vigilante" module with JWT and OTP support
- π¦ Database Integration: GORM integration with multi-database configuration support
- β‘ High Performance: Built on top of Fiber framework for excellent documentation and performance
- π οΈ Powerful CLI: Generate configurations, migrations, seeds, and CRUD models
- π³ Docker Ready: Includes Docker Compose and hot-reload with Air configuration
- Go 1.19 or higher
- Docker and Docker Compose (optional)
- Bun (for web UI development)
# Clone the repository
git clone https://github.com/yourusername/milonga.git
cd milonga
# Install dependencies
go mod download
# Run the application
go run .
# Or with hot reload
air
# Build the image
docker-compose build
# Start the service
docker-compose up
# Or in detached mode
docker-compose up -d
# View logs
docker-compose logs -f
Milonga comes with a powerful CLI tool for code generation.
# Generate a new model with CRUD operations
go run main.go generate model User
# This will create:
# - api/models/user.go
# - api/handlers/user_handler.go
# - api/routes/user_routes.go
.
βββ api/
β βββ handlers/ # Request handlers
β βββ models/ # Data models
β βββ routes/ # Route definitions
βββ cmd/
β βββ cli/ # CLI commands
βββ config/ # Configuration files
βββ public/ # Static files
βββ docker-compose.yaml
Required folders for build:
- config
- app_config.toml
- db_config.toml
- public
To build the web UI:
Note: The API must be running for the build to work
bun run build
The output will be placed in the /public
directory.
Default port is 8921 (configurable)
- API: http://localhost:8921
- Public files: http://localhost:8921/public
- HTMX example: http://localhost:8921/public/examplex.html
Milonga aims to be a simple yet powerful framework that allows developers to focus on building their applications rather than dealing with configuration. The goal is to provide a complete solution that works out of the box while remaining flexible enough to accommodate various project requirements.
The project is actively being developed with plans to include:
- Comprehensive documentation
- Web interface
- Additional API features
- Extended examples and use cases
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.
Β‘Es argentino, papΓ‘! π¦π·