Skip to content

samvbk/sniplink

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sniplink Logo

⚡ Sniplink — Premium URL Shortener

A beautiful, full-stack URL shortening service built with a Spring Boot backend and an interactive glassmorphism frontend.

FeaturesArchitectureScreenshotsQuick Start


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.

✨ Features

🎨 Frontend Experience

  • 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.

⚙️ Backend Power

  • 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.

🏗️ Architecture

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
  1. Frontend: Pure HTML/CSS/JS served statically from src/main/resources/static. No build-steps or npm necessary!
  2. Backend: Spring Boot acts as the API server exposing the /api/shorten routines.
  3. Database: Spring Data JPA persists the UrlMapping instances seamlessly directly to the configured DB.

📸 Screenshots

The Shortener Interface

Paste your long URLs into the glowing, real-time-validating input box to get an instant short link and QR code result. The Shortener Interface

The Link Dashboard

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

Real-time Statistics

Watch your total URLs and total clicks dynamically update. Real-time Statistics


🚀 Quick Start (Run Locally)

You can run the entire application—frontend and backend—with one single command!

Prerequisites

  • Java 17+ installed

Steps

  1. Clone the repository:

    git clone https://github.com/samvbk/sniplink.git
    cd sniplink
  2. Run the application:

    # On Windows
    ./mvnw.cmd spring-boot:run
    
    # On Mac/Linux
    ./mvnw spring-boot:run
  3. 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).


☁️ Deployment

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

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors