JavalinH2Thymeleaf

URL Shortener

By Gabriel Cepeda
Picture of the author
Published on
Duration
2 Weeks
Role
Full-Stack Developer
Home url shortener with Javalin
Home url shortener with Javalin
Home 2 url shortener with Javalin
Home 2 url shortener with Javalin
Login url shortener with Javalin
Login url shortener with Javalin
+8

Description

The project aims to develop a URL shortening and management system inspired by platforms like Bitly. It enables users to register and shorten URLs, providing analytics on access statistics such as browser types, IP addresses, and operating systems. Administrators have additional privileges to manage links, including the ability to remove offensive content. With features like QR code integration and resource previews, the system offers a comprehensive solution for users seeking efficient URL management and tracking capabilities.

Key features:

  1. User Registration and Access Control:
  • Visitors can register to access system functionalities, with automatic creation of an administrator user.
  • Administrators have the authority to elevate registered users to administrative role.
  1. URL Shortening and Tracking:
  • Both registered and unregistered users can shorten URLs, with tracking of access counts, browsers, client IPs, and operating systems.
  • Registered users have continuous access to post statistics and summary information for their registered links.
  • Unregistered users only have access to shorten URLs saved in session storage.
  1. Access Time:
  • The information summary page displays charts indicating the time and date of link access.
  1. QR Code Integration:
  • QR codes displaying link information are integrated into the summary page.
  • Direct access links are provided alongside QR codes.
  1. Administrative Privileges:
  • Administrators have the exclusive capability to remove offensive links from the system.
  1. Resource Preview for New Links:
  • Before adding a new link, the system provides a preview of the associated resource.

Technologies / Tools

  • Java
  • Javalin
  • H2
  • Hibernate
  • Html/CSS/JavaCcript
  • Thymeleaf
  • Cookies
  • Session
  • JWT
  • GRPC
  • SOAP

Demo

For admin perspective use:

  • User: admin
  • Password: admin

For user perspective use:

  • User: user
  • Password: user

Here's the link to the demo where you can interact with the application.

This is a video summary about the functionality: