Skip to content

Full-stack URL shortener with Spring Boot microservices, API gateway, React + Vite frontend, Google OAuth2 SSO, and Kafka.

License

Notifications You must be signed in to change notification settings

ganoninc/url-shortener-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

58 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📎 Vite URL Shortener

A scalable URL shortener app with real-time click analytics built using:

  • 🔧 Spring Boot microservices
  • 📩 Kafka for event-driven communication
  • 🐳 Docker for local development
  • 🔐 JWT + Google OAuth2 SSO
  • 🔎 Swagger for API docs
  • ⚛️ React + Redux frontend
  • 📚 Storybook for UI component development
  • 🛡️ Kong as API gateway (JWT validation)

📐 Architecture Overview

Microservices:

  • Auth Service – OAuth2 SSO, JWT issuance
  • URL Service – Shorten URLs, list user's URLs
  • Redirector Service – Redirects short URLs, publishes click events
  • Analytics Service – Consumes Kafka events, provides click stats
  • React Frontend – Login, dashboard, analytics

Infrastructure:

  • Kafka with KRaft
  • PostgreSQL
  • Docker Compose (local)

🧪 Testing

  • Java: JUnit & Mockito
  • React: Jest + React Testing Library

🚀 Getting Started (Local Dev)

✅ Prerequisites

  • Java 17+
  • Node.js 18+
  • Docker + Docker Compose
  • PostgreSQL client (optional)

🛠️ Run All Services Locally

git clone https://github.com/ganoninc/url-shortener-app.git
cd url-shortener-app
docker-compose up --build

📄 License

This project is licensed under the MIT License. See the LICENSE file for details.

About

Full-stack URL shortener with Spring Boot microservices, API gateway, React + Vite frontend, Google OAuth2 SSO, and Kafka.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published