🚀 Go API v1.0.0
This is the first stable release of my containerized Go REST API.
Features
- RESTful CRUD API
- PostgreSQL database integration
- Dockerized Go application
- Docker Compose deployment
- Automated SQL database migrations
- Health endpoint (
/health) - Readiness endpoint (
/ready) - Unit tests
- GitHub Actions CI workflow
Technology Stack
- Go
- PostgreSQL
- Docker
- Docker Compose
- GitHub Actions
- Ubuntu Server
API Endpoints
| Method | Endpoint | Description |
|---|---|---|
| GET | /users |
List all users |
| GET | /users/{id} |
Retrieve a user |
| POST | /users |
Create a user |
| PUT | /users/{id} |
Update a user |
| DELETE | /users/{id} |
Delete a user |
| GET | /health |
Liveness check |
| GET | /ready |
Database readiness check |
Highlights
- Multi-stage Docker build
- Persistent PostgreSQL storage
- Environment-based configuration
- Automated database migrations
- Clean repository structure
- CI pipeline for automated testing
This project was built as part of my backend software engineering portfolio and is deployed and developed on my Ubuntu homelab server.