Popularity
4.9
Growing
Activity
9.6
Declining
557
2
256

Description

Reduced.to is a modern, self-hosted URL shortener with a Docker setup that's super user-friendly.

Programming language: TypeScript
License: MIT License
Tags: URL     Short Url     Shortener     Bitly     Self-hosted     URL Shorteners     Url Shortener    

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.

Do you think we are missing an alternative of Reduced.to or a related project?

Add another 'URL Shorteners' Software solution

README

<!-- PROJECT SHIELDS -->

Contributors Forks Stargazers Issues

<!-- PROJECT LOGO -->

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.

  • Nest
  • Qwik
  • Tailwindcss
  • Novu

(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

  1. Fork / Clone this repository
  2. Open the repository using the reduced.to.code-workspace file (VSCode)
  3. Install NPM packages sh 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: sh npm run start:backend
  7. 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

  1. Move to the frontend folder sh cd ./frontend
  2. Run the project (it will open a new window) sh 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 sh cd ./backend
  2. Run the project (be sure that you built the frontend before) sh 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 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 โญ!

  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 -->

๐Ÿ“ 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.