Project Overview: Url-Shortener-Analytics This is a modern full-stack web application designed to shorten long URLs and provide detailed click analytics. It features a robust security layer using JWT authentication for user-specific history and tracking. The application is built using a powerful combination of Spring Boot for the backend and React for the frontend. ✨ Key Features
- Secure Authentication: Implements JWT (JSON Web Token) for secure user login and registration.
- URL Shortening: Allows users to shorten long URLs, with the option to specify custom short IDs.
- Comprehensive Analytics: Tracks and displays detailed analytics, including:
- Total click count.
- Click data organized by date.
- Visualization of click statistics using bar charts.
- User History: Maintains a dedicated history of all shortened URLs specific to each registered user.
- Full-Stack Architecture: Combines a Java-based backend with a modern JavaScript frontend.
- REST API: Utilizes a RESTful API for seamless integration and communication between the frontend and backend. 🖥️ Technology Stack | Layer | Technology | Key Components | |---|---|---| | Frontend | React | Axios (for API calls), Tailwind CSS (for styling) | | Backend | Spring Boot | Spring Security, REST API | | Authentication | JSON Web Tokens (JWT) | Provides stateless, secure user authentication | | Database | MySQL / PostgreSQL | Relational databases for persistence | | Build Tool | Maven / Gradle (Implied) | Used for managing backend dependencies and building the project | 📁 Project Structure The project is organized into two main directories for the separate frontend and backend applications: url-shortener-analytics/ ├── url-shortener-sb/ <-- Spring Boot Backend (Contains application source and pom.xml) ├── url-shortener-frontend/ <-- React Frontend (Contains application source, public, and package.json) └── README.md
Log in or sign up for Devpost to join the conversation.