A multi-backend URL shortener service with support for multiple frameworks. This project demonstrates how to build the same service using different backend technologies.
- URL shortening with custom short codes
- User authentication and authorization
- URL analytics (clicks, timestamps)
- Multiple backend implementations
- Shared database schema and migrations
- Common security practices
- Node JS - Express (TypeScript) (setup instructions)
- Go
- Java: Spring Boot (Incompleted)
- PHP: Laravel
- Python: Flask
- Rust
Each backend has its own README with setup and development instructions. Please refer to the appropriate README for details.
- Clone the repository:
git clone https://github.com/refsigregory/refurl.git
cd refurl
- Choose a backend implementation and follow its setup instructions:
- Express TypeScript Backend
- More backends coming soon...
For detailed documentation, please refer to the Documentation Index which includes:
.
├── apps/ # Backend implementations
│ └── api/ # Express TypeScript API
├── database/ # Database schema and migrations
│ ├── migrations/ # Atlas migrations
│ ├── schema/ # HCL schema definitions
│ └── seeds/ # Database seed data
├── shared/ # Shared utilities and types
│ └── scripts/ # Database and utility scripts
├── deployment/ # Deployment configurations
└── docs/ # Project documentation
Please read our Contributing Guide before submitting pull requests.
This project is licensed under the MIT License - see the LICENSE file for details.