/reduced.to

Free Modern URL Reducer. Make sure to share love by giving it a star.๐ŸŒŸ Have a great day!

Primary LanguageTypeScriptMIT LicenseMIT

Contributors Forks Stargazers Issues


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
  1. ๐ŸŒ About The Project
  2. ๐Ÿš€ Getting Started
  3. ๐Ÿฑโ€๐Ÿ’ป Usage
  4. ๐Ÿงฑ Roadmap
  5. ๐Ÿฅ‡ Contributing
  6. ๐Ÿ† Contributors
  7. ๐Ÿ“ License
  8. ๐Ÿ’Œ Contact

๐ŸŒ About The Project

URL Shortener GIF

I created this repository over 3 years ago, and have made it public for Hacktoberfest! This is a great opportunity for beginners to start their journey with contributing to open source. All PRs are welcome! :)

(back to top)

๐Ÿ”ฅ Built With

List of frameworks/libraries used to bootstrap the project.

  • Nest
  • Qwik
  • Tailwindcss

(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 the repo
  2. Clone the repo
    git clone https://github.com/your_username_/url-shortener.git
  3. Open the cloned repository using the url-shortener.code-workspace file (VSCode)
  4. Install NPM packages
    npm install && npm run install:all
  5. Build the project
    npm run build:all
  6. Run the project
    npm run start:prod
  7. Go on your browser and open
    http://localhost:3000/

๐Ÿ‘ฉโ€๐Ÿ’ป Development

You will find 3 folders

  • ๐ŸŽฏ root
  • โœจ url-shortener/frontend
  • ๐Ÿš€ url-shortener/backend

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 start
  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.
    docker build . -t url-shortener
    docker run -p 3000:3000 url-shortener
  • Simply go to your favourite browser and visit http://localhost:3000/ 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:3000/ on your browser.
    docker-compose up

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!

URL Shortener GIF

(back to top)

๐Ÿงฑ Roadmap

  • Migrate backend to NestJS
  • Migrate frontend to Qwik
  • Better README
  • Generate QRCode
  • Split front-end into components
  • Better UI
    • Animations
    • Dark/Light mode
    • Fonts?
  • Improve front-end components
  • 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: https://github.com/origranot/url-shortener

(back to top)