- π 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.gitNavigate to the project directory:
cd url-shortener-apiCreate a virtual environment:
python -m venv venvActivate the virtual environment:
-
On Linux and macOS:
source venv/bin/activate -
On Windows:
.\venv\Scripts\activate
Install Poetry package manager:
pip install poetryInstall dependencies required to run the project:
poetry install --only main --no-rootRun the project:
python -m app.mainYou 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.