A beautiful, full-stack URL shortening service built with a Spring Boot backend and an interactive glassmorphism frontend.
Sniplink transforms long, ugly links into short, powerful URLs. It comes with a stunning UI packed with real-time analytics, QR code generation, and complete link management—all in one place.
- Premium Glassmorphism UI: Stunning dark theme with interactive elements and smooth micro-animations.
- Client-Side QR Code Generation: Instantly generate QR codes for your short links that can be scanned anywhere.
- Real-Time Dashboard: Manage all your links with quick actions (Copy, Edit, Delete).
- Live Analytics: Watch your click counts and stats grow with animated counters.
- Toast Notifications: Beautiful slide-in alerts for all your actions.
- Spring Boot 3 REST API: Fast, reliable, and strongly-typed endpoints mapping all CRUD operations.
- Zero-Config Database: Uses an H2 in-memory database out of the box so you can run it perfectly in under 5 seconds locally (with PostgreSQL support ready for production).
- Tracking & Stats: Automatically counts access times and stores exact timestamps for every creation and update.
- CORS Configured: Fully set up to serve cross-origin requests securely.
Sniplink uses a highly decoupled internal architecture, bundled into a single deployable unit:
graph LR
subgraph Frontend [UI Layer - Vanilla JS/CSS]
UI[Glassmorphism UI]
Dash[Dashboard & Analytics]
QR[Client QR Gen]
end
subgraph Backend [Spring Boot API Layer]
Controller[URL Controller]
Service[Business Logic]
Repo[JPA Repository]
end
subgraph Database
DB[(H2 / PostgreSQL)]
end
UI <-->|REST API (fetch)| Controller
Dash <-->|REST API (fetch)| Controller
Controller <--> Service
Service <--> Repo
Repo <--> DB
- Frontend: Pure HTML/CSS/JS served statically from
src/main/resources/static. No build-steps ornpmnecessary! - Backend: Spring Boot acts as the API server exposing the
/api/shortenroutines. - Database: Spring Data JPA persists the
UrlMappinginstances seamlessly directly to the configured DB.
Paste your long URLs into the glowing, real-time-validating input box to get an instant short link and QR code result.

Manage, edit, or delete the links you've created. Click the copy icon to drop it straight to your clipboard!

Watch your total URLs and total clicks dynamically update.

You can run the entire application—frontend and backend—with one single command!
- Java 17+ installed
-
Clone the repository:
git clone https://github.com/samvbk/sniplink.git cd sniplink -
Run the application:
# On Windows ./mvnw.cmd spring-boot:run # On Mac/Linux ./mvnw spring-boot:run
-
Enjoy! Open your browser to http://localhost:8080 to use Sniplink immediately.
(Note: The embedded H2 Database console is available at http://localhost:8080/h2-console if you want to inspect the data tables).
Sniplink is incredibly easy to deploy because it's bundled inside a single Java Application and includes a ready-to-go Dockerfile.
Built with Spring Boot & ☕ by Sameer Vibhandik