GoShort is URL shortener service built with Go. This project demonstrates my expertise in backend development, API design, frontend.
- 🚀 Fast & Efficient: Built with Fiber for low-latency HTTP handling.
- 🗄️ PostgreSQL: Robust data storage.
- 🔒 Security: JWT authentication, Basic Auth for sensitive endpoints, and environment-based configuration.
- 🧪 Testing: Comprehensive unit tests.
- 📚 API Documentation: Swagger UI with protected access.
- 🛠️ Clean Architecture: Modular codebase for maintainability and scalability.
- 🖥️ Frontend: React-based UI for easy link management (if applicable).
- Go (Fiber, SQLC)
- PostgreSQL (primary database)
- React (frontend)
- Docker (containerization)
- Swagger (API docs)
- Clone the repository
- Use Go 1.24
- Make sure you have Go 1.24 installed.
- Configure environment variables
- Copy
.env.exampleto.envand fill in your credentials.
- Copy
- Run with Docker Compose
- Access the service
- API:
http://localhost:8080 - Swagger:
http://localhost:8080/swagger/index.html
- API:
- Go Backend Engineering: Fiber, middleware, JWT, Basic Auth, RESTful APIs.
- Database Design: Efficient schema, migrations.
- Security Best Practices: Auth, environment configs, protected endpoints.
- Frontend Integration: React SPA (if included).
This project is open-source and available under the MIT License.
Author: agpprastyo