Description
Reduced.to is a modern, self-hosted URL shortener with a Docker setup that's super user-friendly.
Reduced.to alternatives and similar software solutions
Based on the "URL Shorteners" category.
Alternatively, view reduced.to alternatives based on common mentions on social networks and blogs.
-
devShort
DISCONTINUED. A simple and privacy-friendly URL shortener for web developers, admins and all professionals. -
Lstu
Lightweight URL shortener. Read-only mirror of https://framagit.org/fiat-tux/hat-softwares/lstu -
Purl
Purl (Petite URL) is an open source project with the goal of providing you with your own private URL shortener! -
Link-shortener-bot
Host your own link shortener that works with a bot. Just send the link to a bot and it'll take care of the rest for you.
CodeRabbit: AI Code Reviews for Developers

* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of Reduced.to or a related project?
Popular Comparisons
README
<!-- PROJECT SHIELDS -->
<!-- PROJECT LOGO -->
Reduced.to 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 --> ๐ Table of Contents ๐ About The Project ๐ฅ Built With ๐ Getting Started ๐ Prerequisites ๐ป Installation ๐ฉโ๐ป Development ๐ณ Docker ๐ Docker Compose ๐ท Configuration ๐ฑโ๐ป Usage ๐งฑ Roadmap ๐ฅ Contributing ๐ Contributors ๐ License ๐ Contact
<!-- ABOUT THE PROJECT -->
๐ About The Project
๐ฅ Built With
List of frameworks/libraries used to bootstrap the project.
(back to top)
<!-- GETTING STARTED -->
๐ Getting Started
๐ Prerequisites
List of things you need to run the project locally and how to install them.
- npm
sh npm install npm@latest -g
๐ป Installation
- Fork / Clone this repository
- Open the repository using the
reduced.to.code-workspace
file (VSCode) - Install NPM packages
sh npm install && npm run install:all
- Copy
backend/example.env
to.env
and fill it properly (see below). - Copy
frontend/example.env
to.env
and fill it properly (see below). - Run the backend:
sh npm run start:backend
- Run the frontend:
sh npm run start:frontend
๐ฉโ๐ป Development
You will find 3 folders
- ๐
root
- ๐จ
reduced.to/frontend
- ๐ฆ
reduced.to/backend
Running the frontend in dev mode
- Move to the frontend folder
sh cd ./frontend
- Run the project (it will open a new window)
sh npm run dev
- Vite will be now listening for changes in the code and reloading the solution
Running the backend in dev mode
- Move to the backend folder
sh cd ./backend
- Run the project (be sure that you built the frontend before)
sh npm run start:dev
- 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
sh docker build frontend/ -t reduced.to-front docker run -p 5000:5000 reduced.to-front
- Build and run backend instance
docker build backend/ -t reduced.to-back
docker run -p 3000:3000 reduced.to-back
- 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.sh docker compose -f docker-compose.dev.yml up
๐ท Configuration
For the minimal configuration the following settings have to be changed in their .env
file:
Backend configuration
DATABASE_URL: Database connection string
FRONT_DOMAIN: Frontend instance domain
JWT_SECRET: Jwt secret string
NOVU_API_KEY: Get it from https://novu.co/
Frontend configuration
- API_DOMAIN: Domain of your backend instance
Happy Hacking !
(back to top)
<!-- USAGE EXAMPLES -->
๐ฑโ๐ป 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 -->
๐งฑ Roadmap
- [x] Migrate backend to NestJS
- [x] Migrate frontend to Qwik
- [x] Better README
- [x] Generate QRCode
- [x] Split front-end into components
- [x] Better UI
- [x] Animations
- [x] Logo
- [x] 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 -->
๐ฅ 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 โญ!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
๐ Contributors
(back to top)
<!-- LICENSE -->
๐ License
Distributed under the MIT License. See LICENSE.txt
for more information.
(back to top)
<!-- CONTACT -->
๐ Contact
Project Link: https://github.com/origranot/reduced.to
(back to top)
<!-- MARKDOWN LINKS & IMAGES -->
*Note that all licence references and agreements mentioned in the Reduced.to README section above
are relevant to that project's source code only.