Skip to content

kramber1024/url-shortener-api

Repository files navigation

URL Shortener API

Tests Coverage Ruff

Stack & Features

  • 🌐 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.

Local launch

Requirements

Installation

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:

Note

Documentation for testing, running in Docker, and environment variables can be found in DEVELOPMENT.md.

License

This project is licensed under the terms of the MIT license.