This project is an ongoing initiative to create URL shorteners in multiple programming languages, including JavaScript, TypeScript, Java, and Rust. Each implementation will include both a server-side service for shortening URLs and a client-side application built with React (web) and React Native (mobile). The goal is to provide a comprehensive comparison of different languages and frameworks while ensuring optimal performance and usability.
- Multi-Language Support: Implement URL shorteners in JS, TS, Java, and Rust.
- RESTful API: Standardized API across all implementations.
- Database Integration: Store original and shortened URLs.
- Custom Aliases: Allow users to define custom short URLs.
- Analytics Dashboard: Track usage metrics (clicks, referrers, etc.).
- React Frontend: Web app for shortening and managing URLs.
- React Native App: Mobile app for on-the-go URL shortening.
- Performance Comparison: Benchmark different implementations.
repo-url-shortener/
├── javascript/
│ ├── server/ # Node.js & Express server
│ ├── client/ # React web client
│ ├── mobile/ # React Native app
│
├── typescript/
│ ├── server/ # TypeScript-based server
│ ├── client/ # React web client
│ ├── mobile/ # React Native app
│
├── java/
│ ├── server/ # Spring Boot server
│ ├── client/ # React web client
│ ├── mobile/ # React Native app
│
├── rust/
│ ├── server/ # Rust (Rocket or Actix framework)
│ ├── client/ # React web client
│ ├── mobile/ # React Native app
Each language implementation will have its own setup guide. Stay tuned for detailed instructions!
Contributions are welcome! Follow these steps to contribute:
- Fork the repository.
- Pick a language or feature to work on.
- Create a new branch.
- Commit your changes with clear messages.
- Open a pull request describing your changes.
Stay tuned for updates as development progresses! 🚀