- π FastAPI for Python backend.
- π Pydantic, used for data validation and settings management.
- πΎ PostgreSQL as SQL Database.
- π Docker for development, testing and production.
- π CI/CD with GitHub Actions.
- π JWT based authentication.
- β Tests with Pytest.
- π Secure password hashing.
- βοΈ Password recovery with email.
Warning
This repository is part of a larger project that consists of multiple repositories. Using this repository on its own is not recommended, as it may not function correctly without the other components of the project. For complete functionality and proper integration, please refer to the kramber1024/url-shortener.
- π Python 3.12
Clone the repository:
git clone https://github.com/kramber1024/url-shortener-api.git
Navigate to the project directory:
cd url-shortener-api
Create a virtual environment:
python -m venv venv
Activate the virtual environment:
-
On Linux and macOS:
source venv/bin/activate
-
On Windows:
.\venv\Scripts\activate
Install Poetry package manager:
pip install poetry
Install dependencies required to run the project:
poetry install --only main --no-root
Run the project:
python -m app.main
You can see the result by navigating to one of the following addresses:
- http://127.0.0.1:26801/api/docs - Swagger UI
- http://127.0.0.1:26801/api/redoc - ReDoc
Note
Documentation for testing, running in Docker, and environment variables can be found in DEVELOPMENT.md.
This project is licensed under the terms of the MIT license.