- Add Makefile.
- Add workflow automations.
- Add Prometheus metrics.
- Add Dockerfile.
- Add unittests.
- Create upload a file endpoint.
- Implement MinIO.
- Update DB class.
- Add validation functions.
- For URLs.
- Run another thread for delete expired urls.
- Add CI / CD file on GitHub.
The URL Shortener Service is a simple and efficient tool for shortening long URLs into concise and easy-to-share links. This service is designed to provide users with shortened URLs that redirect to the original long URLs.
- Shorten long URLs to generate compact and shareable links.
- Access detailed analytics and statistics for each shortened URL.
- Customize the shortened URL with a custom alias or keyword.
- Easy-to-use web interface and RESTful API for integration with other applications.
- Python 3.x
- FastAPI (for the web application)
- Uvicorn
- SQLAlchemy (for database interaction)
- MinIO (for object storage)
- Dynaconf (for configs)
-
Clone the repository:
git clone https://github.com/uysalserkan/url-shorter.git cd url-shortener
-
Install dependencies
pip install -r requirements.txt
-
Run application
uvicorn app:app --port 25250
This project is licensed under the Apache License.