SnipURL

A full-stack web application for creating and managing shortened URLS with dynamic QR code rendering.

HTMLCSSPHPMySQL
SnipURL

How It Started

While I had experience with full-stack desktop applications development using VB.net in the past, SnipURL was my first web-based full-stack application. I stepped into the project as the Lead Developer, primarily responsible for the system's back-end architecture, while also contributing to front-end development.

Instead of relying on modern frameworks, we intentionally built the project using HTML, CSS, PHP, and MySQL to gain a deeper understanding of the complete client-server lifecycle and database interactions.

Building the System

Since every shortened URL needed to be tied to a user account, we used MySQL to maintain relational integrity and support link history tracking.

SnipURL Dashboard

One of the main challenges was preventing link collisions. For automatically generated URLs, the backend generates new combinations until a unique alias was found. Custom aliases were also validated to ensure no duplicate links could be created.

Security was another priority. All database operations used prepared statements to protect against SQL injection attacks.

Key Features

  • URL Shortening with automatic unique slug generation
  • Custom Slugs for user-defined aliases
  • Dynamic QR Codes generated for every shortened link
  • SMTP Email Integration for password recovery and account management
  • User Dashboard for viewing and managing previously created links

Outcome

Our team successfully deployed the application live, and it did exactly what it set out to do: provide reliable URL shortening with QR code as a cherry on top.

SnipURL Dashboard

Looking back, the codebase is honestly a complete mess, it could have been structured more cleanly. And due to our time constraints, mobile responsiveness was intentionally deprioritized. Instead, we chose to focus on backend reliability, data integrity, and core functionality first.

Ultimately, SnipURL marked my transition from desktop development to web development and gave me hands-on experience leading a team, designing relational databases, and building a complete full-stack application from the ground up.

Screenshots

Back