Before run
Keep in mind: you need to use dev-db from docker-compose.yml in this folder instead of databasus-db from docker-compose.yml in the root folder.
Copy .env.example to .env Copy docker-compose.yml.example to docker-compose.yml (for development only) Go to tools folder and install Postgres versions
Run
To run:
make run
To run tests:
make test
Before commit (make sure golangci-lint is installed):
make lint
Migrations
To create migration:
make migration-create name=MIGRATION_NAME
To run migrations:
make migration-up
If latest migration failed:
To rollback on migration:
make migration-down
Swagger
To generate swagger docs:
make swagger
Swagger URL is:
Project structure
Default endpoint structure is:
/feature /feature/controller.go /feature/service.go /feature/repository.go /feature/model.go /feature/dto.go
If there are couple of models: /feature/models/model1.go /feature/models/model2.go ...
Project rules
Read .cursor/rules folder, it contains all the rules for the project.