Snapp

screenshot of Snapp
svelte
vite
tailwind
bits-ui

Yet Another Url Shortner. A simple excercise to learn Svelte.

Overview:

Snapp is a self-hosted URL shortening solution designed for individuals and businesses looking to manage their URLs effectively. With features like custom short codes, secure authentication, secret links, and usage analytics, Snapp offers a comprehensive tool for link management and analytics. The platform also supports integration with Umami Analytics and VirusTotal API for advanced metrics and link security.

Features:

  • Intuitive User Interface: Provides a user-friendly interface for easy link shortening.
  • Secure Authentication: Ensures secure authentication sessions and hashed passwords for user data protection.
  • Custom Short Codes: Allows users to create personalized short codes for memorable and easy link sharing.
  • Expiration Control: Lets users set expiration dates for links to enhance security.
  • Secret Links: Adds an extra layer of protection by enabling sharing links with selected audiences through unique secrets.
  • Usage Analytics: Offers detailed analytics for every link created, empowering users with valuable insights.
  • Extend Metrics: Integration with Umami Analytics for advanced metrics analysis.
  • REST API: Supports REST API endpoints for remote creation and management of Snapps.

Manual Installation:

  1. Clone the git repository.
  2. Install dependencies.
  3. Copy and edit the .env.example file.
  4. Develop and extend Snapp on your server (optional).
  5. Build the application.
  6. Run the application.

Using Docker Container:

  • Run the command in the terminal.
  • Set PUBLIC_URL and ORIGIN environment variables if encountering CORS errors.

Summary:

Snapp offers a reliable and self-hosted solution for URL shortening, providing users with a range of features including custom short codes, secure authentication, usage analytics, and more. With easy installation guides for manual and Docker installations, Snapp empowers users to take control of their URL management and link analytics efficiently. The platform's integration options with Umami Analytics and VirusTotal API further enhance its capabilities for users seeking advanced metrics and link security.

svelte
Svelte

Svelte is a modern front-end framework that compiles your code at build time, resulting in smaller and faster applications. It uses a reactive approach to update the DOM, allowing for high performance and a smoother user experience.

vite
Vite

Vite is a build tool that aims to provide a faster and leaner development experience for modern web projects

tailwind
Tailwind

Tailwind CSS is a utility-first CSS framework that provides pre-defined classes for building responsive and customizable user interfaces.

bits-ui
Bits UI

Bits UI is a headless component library for Svelte that provides unstyled, accessible UI primitives. It powers shadcn-svelte and offers a foundation for building custom component libraries with full accessibility support in the Svelte ecosystem.

eslint
Eslint

ESLint is a linter for JavaScript that analyzes code to detect and report on potential problems and errors, as well as enforce consistent code style and best practices, helping developers to write cleaner, more maintainable code.

postcss
Postcss

PostCSS is a popular open-source tool that enables web developers to transform CSS styles with JavaScript plugins. It allows for efficient processing of CSS styles, from applying vendor prefixes to improving browser compatibility, ultimately resulting in cleaner, faster, and more maintainable code.

typescript
Typescript

TypeScript is a superset of JavaScript, providing optional static typing, classes, interfaces, and other features that help developers write more maintainable and scalable code. TypeScript's static typing system can catch errors at compile-time, making it easier to build and maintain large applications.