🚀A learning project built while taking "Backend Engineering with Go" Udemy course
Course: Backend Engineering with Go
- Clean Layered Architecture (Transport/Service/Storage)
- Repository Pattern for data access
- REST API
- JWT Token-based authentication
- Role-based authorization with middleware
- User registration & activation flow & email
- Secure password handling
- PostgreSQL with connection pooling
- SQL migrations with version control
- Database seeding for development
- SQL transactions for data consistency
- Optimistic concurrency control
- Query timeouts management
- User management (profiles, registration)
- Post creation with comments
- User following system
- Feed algorithm with pagination
- Feed filtering and sorting
- Swagger/OpenAPI auto-generated documentation
- Structured logging system
- Continuous Integration setup
- Rate limiting middleware
- CORS handling
- Caching strategies (user profiles)
- SQL indexes optimization
- Concurrency control with mutexes
- Server metrics monitoring
- User handler unit
- Error handling standardization
- Payload validation
- Performance testing with Autocannon
go run ./cmd/apimigrate create -seq -ext sql -dir ./cmd/migrate/migrations create_usersmake migrate-upswag initnpx autocannon http://localhost:8080/v1/users/2 --connections 10 --duration 5 -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOiJzb2NpYWwiLCJleHAiOjE3NTkyMTc4NDgsImlhdCI6MTc1ODk1ODY0OCwiaXNzIjoic29jaWFsIiwibmJmIjoxNzU4OTU4NjQ4LCJzdWIiOjEzN30.x3wIW1uByni6qpvqPF4-P3o1dinICeubMIB_-pK65e8"npx autocannon -r 1000 -d 2 -c 10 --renderStatusCodes http://localhost:8080/v1/healthnpx autocannon -c 1 -r 100 -d 1 --renderStatusCodes http://localhost:8080/v1/health