Project Overview
A fast, lightweight URL shortening service built entirely in Go. This project demonstrates my backend development skills using Go's powerful standard library, including its native HTTP server, JSON handling, and concurrency primitives (goroutines, mutexes) for thread-safe operations.
The service features a clean REST API architecture with endpoints for URL creation, redirection, and click statistics. Data persistence is handled through a JSON file-based storage system with proper read/write locking, showcasing understanding of concurrent data access patterns without external database dependencies.
The backend is deployed on Railway with a custom domain (link.david-garcia.co.uk), featuring CORS middleware for secure cross-origin requests from the frontend. This project demonstrates my ability to build full-stack applications, manage DNS configuration, and deploy production-ready microservices.
Try the URL Shortener
Key Features
- Fast URL shortening with cryptographically secure random codes
- RESTful API design with proper HTTP status codes
- Automatic HTTPS protocol handling for URLs without schemes
- Thread-safe in-memory storage with JSON file persistence
- CORS middleware restricting access to authorized domains
- Custom domain integration