# πŸ”— Hello Web β€” URL Shortener Rust + React URL shortener with analytics dashboard. ## Features - Create short URLs with optional custom aliases - Click tracking and analytics - Beautiful React frontend with dark theme - RESTful API backend - Full CI/CD pipeline with Gitea Actions - Docker multi-stage builds - Kubernetes deployment with auto-scaling ## Tech Stack - **Backend**: Rust + Axum - **Frontend**: React + Vite - **CI/CD**: Gitea Actions - **Registry**: Harbor - **Deployment**: Kubernetes + ArgoCD - **Monitoring**: VictoriaMetrics ## Local Development ```bash # Backend cargo run # Frontend (separate terminal) cd frontend npm install npm run dev ``` ## API Endpoints - `POST /api/shorten` β€” Create short URL - `GET /api/urls` β€” List all URLs - `GET /api/stats` β€” Get analytics - `GET /api/urls/{id}` β€” Get URL info - `GET /{id}` β€” Redirect to original URL - `GET /health` β€” Health check ## Deployment The project uses Gitea Actions CI/CD: 1. Lint & test on every push 2. Build Docker image on merge to main 3. Push to Harbor registry 4. Deploy to Kubernetes cluster ## Architecture ``` β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ React UI │────▢│ Axum API │────▢│ Harbor β”‚ β”‚ (Vite) β”‚ β”‚ (Rust) β”‚ β”‚ Registry β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”‚ β–Ό β–Ό β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ Victoria β”‚ β”‚ Kubernetes β”‚ β”‚ Metrics β”‚ β”‚ Cluster β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ ```