Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Contributors Forks Stargazers Issues

logo is a modern web application that reduces the length of link URL. So it's easier to remember, share and track.

App Β· Report Bug Β· Request Feature

πŸ“š Table of Contents
  1. 🌐 About The Project
  2. πŸš€ Getting Started
  3. πŸ±β€πŸ’» Usage
  4. 🧱 Roadmap
  5. πŸ₯‡ Contributing
  6. πŸ† Contributors
  7. πŸ“ License
  8. πŸ’Œ Contact

🌐 About The Project

πŸ”₯ Built With

List of frameworks/libraries used to bootstrap the project.

  • Nest
  • Qwik
  • Tailwindcss
  • Novu

(back to top)

πŸš€ Getting Started

πŸ“ƒ Prerequisites

List of things you need to run the project locally and how to install them.

  • npm
    npm install npm@latest -g

πŸ’» Installation

  1. Fork / Clone this repository
  2. Open the repository using the file (VSCode)
  3. Install NPM packages
    npm install && npm run install:all
  4. Copy backend/example.env to .env and fill it properly (see below).
  5. Copy frontend/example.env to .env and fill it properly (see below).
  6. Run the backend:
    npm run start:backend
  7. Run the frontend:
    npm run start:frontend

πŸ‘©β€πŸ’» Development

You will find 3 folders

  • πŸš€ root
  • 🎨
  • πŸ“¦

Running the frontend in dev mode

  1. Move to the frontend folder
    cd ./frontend
  2. Run the project (it will open a new window)
    npm run dev
  3. Vite will be now listening for changes in the code and reloading the solution

Running the backend in dev mode

  1. Move to the backend folder
    cd ./backend
  2. Run the project (be sure that you built the frontend before)
    npm run start:dev
  3. Nest will be now listening for changes in the code and reloading the solution

🐳 Docker

  • You can easily build your application in a docker container and run it.
  • Build and run frontend instance
    docker build frontend/ -t
    docker run -p 5000:5000
  • Build and run backend instance
docker build backend/ -t
docker run -p 3000:3000
  • Simply go to your favourite browser and visit http://localhost:5000/ to see your application.

πŸ™ Docker compose

  • In case you have docker installed, you can single-click deploy and test your changes by running the following and going to http://localhost:5000/ on your browser.
    docker compose -f up

πŸ‘· Configuration

For the minimal configuration the following settings have to be changed in their .env file:

Backend configuration

  • APP_PORT: Backend port
  • DATABASE_URL: Database connection string
Rate Limit
  • RATE_LIMIT_TTL: Rate limt TTL (time to live)
  • RATE_LIMIT_COUNT: Number of requests within the ttl
  • LOGGER_CONSOLE_THRESHOLD: Threshold level of the console transporter.
  • FRONT_DOMAIN: Frontend instance domain
  • REDIS_ENABLE: Whether to use external redis store or not
  • REDIS_HOST: Redis instnace host
  • REDIS_PORT: Redis instance port
  • REDIS_PASSWORD: Redis instance password
  • REDIS_TTL: Redis ttl (in seconds)
  • JWT_SECRET: Jwt secret string

Frontend configuration

  • DOMAIN: Domain of your frontend app (used for cookies)

  • API_DOMAIN: Domain of your backend instance

Happy Hacking !

(back to top)

πŸ±β€πŸ’» Usage

Simply copy and paste a URL into the provided area. Then click shorten URL! Your URL has now been shortened!

(back to top)

🧱 Roadmap

  • Migrate backend to NestJS
  • Migrate frontend to Qwik
  • Better README
  • Generate QRCode
  • Split front-end into components
  • Better UI
    • Animations
    • Logo
    • Dark/Light mode
    • Fonts?
  • Improve front-end components
  • Backend tests
  • Front-end Tests
  • Logs
  • Add a statistics page
  • Add more ideas

Just create a Pull request already πŸ˜ƒ

See the open issues for a full list of proposed features (and known issues).

(back to top)

πŸ₯‡ Contributing

Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star ⭐!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

πŸ† Contributors

(back to top)

πŸ“ License

Distributed under the MIT License. See LICENSE.txt for more information.

(back to top)

πŸ’Œ Contact

Project Link:

(back to top)