- developing web applications in Go, following the REST API design;
- working with the gin-gonic/gin framework;
- the Clean Architecture approach to building the application structure;
- dependency injection technique;
- working with the PostgreSQL database;
- working with Docker;
- generating migration files;
- configuring the app using the spf13/viper library;
- working with environment variables;
- authentication and authorization using JSON Web Tokens (JWTs) and Middleware;
- writing SQL queries;
- graceful shutdown.
Install Docker Desktop and run the following command:
docker compose up
Install the Migrate utility and apply existing migrations to the database:
migrate -path ./schema -database "postgres://postgres:postgres@localhost:5432/postgres?sslmode=disable" up
Run the application:
go run ./cmd/main.go