- Render HTML templates
- Session management
- Easy multiple databases access
- Authentication (web and api)
- Cache capabilities (redis and badger)
- Email Management (SMTP or API)
- Forget & Reset password management
- File management (upload, download)
- Response management (JSON, XML, CSV)
- Encryption
- CSRF protection
- Form validation
go installed
docker installed
make installed
-
install jazz package into your pc
go get github.com/ahmedkhaeld/jazz
-
change dir to jazz
cd jazz
-
build the cli into dist directory
make build
-
change to dist and copy the executable into your desired directory
cp jazz ~/Desktop
-
cd into Desktop and start new app
./jazz new coolapp
-
This will create a new project with the following structure
newProject
├── data
│ └── models.go
├── handlers
│ └── handlers.go
├── middleware
│ └── middleware.go
├── go.mod
├── go.sum
├── handlers
│ └── handlers.go
├── public
│ ├── icons
│ │ └── style.css
│ └── imgages
│ └── logo.png
├── views
│ └── home.jet
├── .env
├── .gitignore
├── docker-compose.yml
├── go.mod
├── go.sum
├── app.go
├── main.go
├── Makefile
├── readme.md
└── routes.go
help - show the help commands
version - print application version
new <appName> - create a new application
migrate - runs all up migrations that have not been run previously
migrate down - reverses the most recent migration
migrate reset - runs all down migrations in reverse order, and then all up migrations
create migration <name> - creates two new up and down migrations in the migrations folder
create auth - creates and runs migrations for authentication tables, and creates models and middleware
create handler <name> - creates a stub handler in the handlers directory
create model <name> - creates a new model in the data directory
create mail <name> - creates two starter mail templates in the mail directory
create session - creates a table in the database as a session store