QRXRQ is an URL shortening service that allows users to shorten and manage links efficiently. It features a React frontend with Tailwind CSS and a Node.js backend with MongoDB and Redis for performance optimization.
Check out the live demo: qrxrq.com
- Shorten long URLs with a custom incrementing ID approach
- Fast redirection with Redis caching
- User-friendly frontend with dark/light mode
- REST API for URL management
- Secure and scalable architecture
- 404 page is used to redirect to the backend.
- React.js with Vite
- Tailwind CSS v4
- Vue Router (for routing)
- ShadCN UI (for UI components)
- Hosted on GitHub Pages
- Node.js with Express
- MongoDB (Azure Cosmos DB) (primary database)
- Redis (Azure Cache for Redis) (caching layer)
- API for URL creation and retrieval
- Hosted on Azure Linux F1 SKU
- Frontend: Automated deployment to GitHub Pages via GitHub Actions
- Backend: Continuous Deployment to Azure Linux F1 SKU using GitHub Actions
Ensure you have the following installed:
- Node.js (v16+)
- MongoDB
- Redis
- Git
git clone https://github.com/landofcash/qrxrq.git
cd qrxrqcd qrxrq-backend
npm install
cp .env.example .env # Configure your environment variables
npm run devcd qrxrq-frontend
npm install
npm run dev| Method | Endpoint | Description |
|---|---|---|
| POST | /api/shorten | Shorten a URL |
| GET | /:shortId | Redirect to the original URL |
You can deploy the frontend and backend separately:
- Frontend: GitHub Pages (automated via CI/CD)
- Backend: Azure Linux F1 SKU (automated via CI/CD)
This project is POC, licensed under the MIT License.