https://github.com/torhamdev/link-shortener-fastapi
a simple link shortener with FastAPI
https://github.com/torhamdev/link-shortener-fastapi
docker docker-compose fastapi mysql python redis
Last synced: 11 months ago
JSON representation
a simple link shortener with FastAPI
- Host: GitHub
- URL: https://github.com/torhamdev/link-shortener-fastapi
- Owner: TorhamDev
- License: mit
- Created: 2023-01-20T12:50:37.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2023-03-02T18:57:07.000Z (about 3 years ago)
- Last Synced: 2025-03-26T17:56:26.864Z (12 months ago)
- Topics: docker, docker-compose, fastapi, mysql, python, redis
- Language: Python
- Homepage:
- Size: 10.4 MB
- Stars: 12
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Link shortener with FastAPI
> a simple link shortener with FastAPI
My practice for using FastAPI.
In this exercise, a link shortening system is built and it is tried to be optimized as much as possible.
Technologies such as Docker and Redis are also used in this exercise.
## Technologies used:





# How to Run?
You can run this project in three ways. manually, using docker-compose and using Docker
## Manually
```bash
# clone the project
git clone https://github.com/TorhamDev/link-Shortener-FastAPI.git
cd link-Shortener-FastAPI
# install libs
pip install -r requirements.txt
# run the projct
uvicorn main:app --host 0.0.0.0 --port 8080
```
## Using docker-compose
```bash
# clone the project
git clone https://github.com/TorhamDev/link-Shortener-FastAPI.git
cd link-Shortener-FastAPI
# Run and build project
docker-compose up --build -d
```
## Using docker
```bash
# clone the project
git clone https://github.com/TorhamDev/link-Shortener-FastAPI.git
cd link-Shortener-FastAPI
# building docker image
docker build -t fast-api-link .
# run the project on 8080 port
docker run -d -p 8080:8080 fast-api-link
```
# admin panel
Too see admin panel after running, go to the `/admin/`
# Document
**To see the project document, after running it, go to the `/redoc` or `/docs` path and view the document**
# License
[](./LICENSE)