reduced.to/README.md

272 lines
7.8 KiB
Markdown
Raw Normal View History

2022-10-09 08:27:30 +03:00
<a name="readme-top"></a>
2022-10-05 20:46:30 +03:00
2022-10-09 08:27:30 +03:00
<!-- PROJECT SHIELDS -->
2022-10-09 17:05:15 +03:00
<div align="center">
2022-10-05 18:20:38 +03:00
[![Contributors][contributors-shield]][contributors-url]
[![Forks][forks-shield]][forks-url]
[![Stargazers][stars-shield]][stars-url]
[![Issues][issues-shield]][issues-url]
2022-10-09 17:05:15 +03:00
</div>
2022-10-08 09:21:39 -04:00
2022-10-09 08:27:30 +03:00
<!-- PROJECT LOGO -->
<br />
<div align="center">
2022-10-14 00:00:13 +03:00
2022-10-15 00:14:10 +03:00
[![logo](https://user-images.githubusercontent.com/26607131/195944856-0c23581a-e1b5-43ee-bcae-c0d65e724faf.png)](https://reduced.to)
2022-10-09 08:27:30 +03:00
<p align="center">
2022-10-13 22:13:13 +03:00
Reduced.to is a modern web application that reduces the length of link URL. So it's easier to remember, share and track.
2022-10-09 08:27:30 +03:00
<br />
<br />
2022-10-13 22:13:13 +03:00
<a href="https://reduced.to">App</a>
2022-10-09 08:27:30 +03:00
·
2022-10-18 21:24:36 +03:00
<a href="https://github.com/origranot/reduced.to/issues">Report Bug</a>
2022-10-09 08:27:30 +03:00
·
2022-10-18 21:24:36 +03:00
<a href="https://github.com/origranot/reduced.to/issues">Request Feature</a>
2022-10-09 08:27:30 +03:00
</p>
</div>
<br />
<!-- TABLE OF CONTENTS -->
<details>
<summary>📚 Table of Contents</summary>
<ol>
<li>
<a href="#-about-the-project">🌐 About The Project</a>
2022-10-09 08:27:30 +03:00
<ul>
<li><a href="#-built-with">🔥 Built With</a></li>
2022-10-09 08:27:30 +03:00
</ul>
</li>
<li>
<a href="#-getting-started">🚀 Getting Started</a>
2022-10-09 08:27:30 +03:00
<ul>
<li><a href="#-prerequisites">📃 Prerequisites</a></li>
<li><a href="#-installation">💻 Installation</a></li>
<li><a href="#-development">👩‍💻 Development</a></li>
<li><a href="#-docker">🐳 Docker</a></li>
<li><a href="#-docker-compose">🐙 Docker Compose</a></li>
2022-10-09 08:27:30 +03:00
</ul>
</li>
<li><a href="#-usage">🐱‍💻 Usage</a></li>
<li><a href="#-roadmap">🧱 Roadmap</a></li>
<li><a href="#-contributing">🥇 Contributing</a></li>
<li><a href="#-contributors">🏆 Contributors</a></li>
<li><a href="#-license">📝 License</a></li>
<li><a href="#-contact">💌 Contact</a></li>
2022-10-09 08:27:30 +03:00
</ol>
</details>
<br/>
<!-- ABOUT THE PROJECT -->
2022-10-09 08:27:30 +03:00
## 🌐 About The Project
2022-10-10 10:02:25 -05:00
<div align="center">
2022-10-09 18:16:17 -05:00
2022-10-18 21:24:36 +03:00
[![URL Shortener GIF](docs/urlshortener.gif)](https://github.com/origranot/reduced.to)
2022-10-05 20:46:30 +03:00
2022-10-10 10:02:25 -05:00
</div>
2022-10-05 20:46:30 +03:00
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! :)
2022-10-05 20:46:30 +03:00
2022-10-09 08:27:30 +03:00
<p align="right">(<a href="#readme-top">back to top</a>)</p>
### 🔥 Built With
List of frameworks/libraries used to bootstrap the project.
- [![Nest][nestjs]][nest-url]
- [![Qwik][qwik.js]][qwik-url]
- [![Tailwindcss][tailwindcss]][tailwindcss-url]
2022-10-09 08:27:30 +03:00
<p align="right">(<a href="#readme-top">back to top</a>)</p>
<!-- GETTING STARTED -->
2022-10-09 08:27:30 +03:00
## 🚀 Getting Started
### 📃 Prerequisites
List of things you need to run the project locally and how to install them.
- npm
2022-10-09 08:27:30 +03:00
```sh
npm install npm@latest -g
```
### 💻 Installation
2022-10-18 21:24:36 +03:00
1. [Fork](https://github.com/origranot/reduced.to/fork) the repo
2022-10-09 08:27:30 +03:00
2. Clone the repo
```sh
2022-10-18 21:24:36 +03:00
git clone https://github.com/your_username_/reduced.to.git
```
2022-10-18 21:24:36 +03:00
3. Open the cloned repository using the `reduced.to.code-workspace` file (VSCode)
2022-10-09 08:27:30 +03:00
4. Install NPM packages
```sh
npm install && npm run install:all
```
2022-10-09 08:27:30 +03:00
5. Build the project
```sh
npm run build:all
```
2022-10-09 08:27:30 +03:00
6. Run the project
```sh
npm run start:prod
```
7. Go on your browser and open
```sh
http://localhost:3000/
```
2022-10-09 08:27:30 +03:00
### 👩‍💻 Development
2022-10-09 08:27:30 +03:00
You will find 3 folders
- 🎯 `root`
2022-10-18 21:24:36 +03:00
-`reduced.to/frontend`
- 🚀 `reduced.to/backend`
2022-10-09 08:27:30 +03:00
### _Running the frontend in dev mode_
2022-10-09 08:27:30 +03:00
1. Move to the frontend folder
```sh
cd ./frontend
```
2022-10-09 08:27:30 +03:00
2. Run the project (it will open a new window)
```sh
npm run start
```
2022-10-09 08:27:30 +03:00
3. Vite will be now listening for changes in the code and reloading the solution
### _Running the backend in dev mode_
2022-10-09 08:27:30 +03:00
1. Move to the backend folder
```sh
cd ./backend
```
2022-10-09 08:27:30 +03:00
2. Run the project (be sure that you built the frontend before)
```sh
npm run start:dev
```
2022-10-09 08:27:30 +03:00
3. Nest will be now listening for changes in the code and reloading the solution
### 🐳 Docker
2022-10-06 22:17:39 +02:00
- You can easily build your application in a docker container and run it.
2022-10-09 08:27:30 +03:00
```sh
2022-10-18 21:24:36 +03:00
docker build . -t reduced.to
docker run -p 3000:3000 reduced.to
2022-10-09 08:27:30 +03:00
```
- Simply go to your favourite browser and visit `http://localhost:3000/` to see your application.
2022-10-09 08:27:30 +03:00
### 🐙 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.
2022-10-09 08:27:30 +03:00
```sh
docker-compose up
```
2020-05-08 21:53:54 +03:00
2022-10-07 09:15:10 +05:30
Happy Hacking !
2022-10-09 08:27:30 +03:00
<p align="right">(<a href="#readme-top">back to top</a>)</p>
<!-- USAGE EXAMPLES -->
2022-10-09 08:27:30 +03:00
## 🐱‍💻 Usage
Simply copy and paste a URL into the provided area. Then click shorten URL! Your URL has now been shortened!
2022-10-10 10:05:11 -05:00
<div align="center">
2022-10-18 21:24:36 +03:00
[![URL Shortener GIF](docs/urlshortener.gif)](https://github.com/origranot/reduced.to)
2022-10-10 10:05:11 -05:00
</div>
2022-10-09 08:27:30 +03:00
<p align="right">(<a href="#readme-top">back to top</a>)</p>
<!-- ROADMAP -->
2022-10-09 08:27:30 +03:00
## 🧱 Roadmap
- [x] Migrate backend to NestJS
- [x] Migrate frontend to Qwik
- [x] Better README
2022-10-10 20:36:27 +03:00
- [x] Generate QRCode
- [x] Split front-end into components
- [x] Better UI
- [x] Animations
2022-10-16 15:00:29 +03:00
- [x] Logo
2022-10-18 15:23:45 +03:00
- [x] Dark/Light mode
- [ ] Fonts?
- [ ] Improve front-end components
2022-10-16 15:00:29 +03:00
- [ ] Backend tests
- [ ] Front-end Tests
2022-10-10 16:21:22 +03:00
- [ ] Logs
2022-10-09 08:27:30 +03:00
- [ ] Add a statistics page
- [ ] Add more ideas
2022-10-18 21:24:36 +03:00
Just create a [Pull request](https://github.com/origranot/reduced.to/pulls) already 😃
2022-10-09 08:27:30 +03:00
2022-10-18 21:24:36 +03:00
_See the [open issues](https://github.com/origranot/reduced.to/issues) for a full list of proposed features (and known issues)._
2022-10-09 08:27:30 +03:00
<p align="right">(<a href="#readme-top">back to top</a>)</p>
<!-- CONTRIBUTING -->
2022-10-09 08:27:30 +03:00
## 🥇 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**.
2022-10-09 08:27:30 +03:00
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".
2022-10-09 17:05:15 +03:00
Don't forget to give the project a star ⭐!
2022-10-09 08:27:30 +03:00
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
2022-10-18 21:24:36 +03:00
<a href = "https://github.com/origranot/reduced.to/graphs/contributors">
<img src = "https://contrib.rocks/image?repo=origranot/reduced.to"/>
</a>
2022-10-09 08:27:30 +03:00
<p align="right">(<a href="#readme-top">back to top</a>)</p>
<!-- LICENSE -->
2022-10-09 08:27:30 +03:00
## 📝 License
Distributed under the MIT License. See `LICENSE.txt` for more information.
<p align="right">(<a href="#readme-top">back to top</a>)</p>
<!-- CONTACT -->
2022-10-09 08:27:30 +03:00
## 💌 Contact
2022-10-18 21:24:36 +03:00
Project Link: [https://github.com/origranot/reduced.to](https://github.com/origranot/reduced.to)
2022-10-09 08:27:30 +03:00
<p align="right">(<a href="#readme-top">back to top</a>)</p>
2022-10-07 09:15:10 +05:30
2022-10-09 08:27:30 +03:00
<!-- MARKDOWN LINKS & IMAGES -->
2022-10-18 21:24:36 +03:00
[contributors-shield]: https://img.shields.io/github/contributors/origranot/reduced.to.svg?style=for-the-badge
[contributors-url]: https://github.com/origranot/reduced.to/graphs/contributors
[forks-shield]: https://img.shields.io/github/forks/origranot/reduced.to.svg?style=for-the-badge
[forks-url]: https://github.com/origranot/reduced.to/network/members
[stars-shield]: https://img.shields.io/github/stars/origranot/reduced.to.svg?style=for-the-badge
[stars-url]: https://github.com/origranot/reduced.to/stargazers
[issues-shield]: https://img.shields.io/github/issues/origranot/reduced.to.svg?style=for-the-badge
[issues-url]: https://github.com/origranot/reduced.to/issues
2022-10-09 08:27:30 +03:00
[product-screenshot]: docs/gif.gif
[nestjs]: https://img.shields.io/badge/nestJS-000000?style=for-the-badge&logo=nestjs&logoColor=E0234E
[nest-url]: https://nestjs.com/
[qwik.js]: https://tinyurl.com/y67dv8ub
[qwik-url]: https://qwik.builder.io/
[tailwindcss]: https://img.shields.io/badge/tailwindcss-06B6D4?style=for-the-badge&logo=tailwindcss&logoColor=fff
[tailwindcss-url]: https://tailwindcss.com