Skip to content

Dependencies

Alexandar83 edited this page Feb 8, 2025 · 17 revisions

The Wall API relies on a carefully chosen set of dependencies to ensure robust functionality, scalability, and performance. Below is a quick-reference table, followed by detailed descriptions of key dependencies.

Quick Reference Table

Dependency Description Version (Docker image version)
Python Main programming language 3.11
Django Web framework 5.1.2
Django Rest Framework API framework 3.15.2
Djoser User authentication 2.3.1
DRF Spectacular API schema & docs generation 0.27.2
PostgreSQL
psycopg2
Database engine (Docker: 15.3)
2.9.10
Redis In-memory cache & Celery broker 5.2.0 (Docker: 7.4.1)
Celery Asynchronous task processing, with support for task scheduling 5.4.0
Poetry Dependency management and virtualization 2.0.1
Docker
Engine
Compose
Containerization tools 4.37.1
27.4.1
2.32.1

Key Dependency Categories

1. Programming Language

  • Python: The core programming language used for building the API and simulations. (Version: 3.11)

2. Frameworks and Libraries

  • Django: Web framework for the API’s structure and core functionality. (Version: 5.1.2)
  • Django Rest Framework: RESTful API integration with Django. (Version: 3.15.2)
  • Djoser: Simplifies user management and authentication with DRF. (Version: 2.3.1)
  • DRF Spectacular: Generates API documentation and schemas. (Version: 0.27.2)

3. Database and Caching

  • PostgreSQL: Relational database engine for storing project data, accessed via
    Django ORM for streamlined interactions. (Version: 15.3 for Docker, 2.9.10 for psycopg2)
  • Redis: In-memory cache and message broker for Celery task queuing. (Version: 7.4.1 for Docker, 5.2.0 for Python library)

4. Task Management

  • Celery: Handles asynchronous task processing and supports task scheduling for automating routine jobs,
    such as data archiving and cleanup. (Version: 5.4.0)

5. Dependency Management

  • Poetry: Manages Python dependencies, virtual environments, and package builds, ensuring consistency
    across development and deployment. (Version: 2.0.1)

6. Containerization Tools

  • Docker Desktop:
    Provides a complete containerization environment for Windows, including Docker Engine and Docker Compose,
    to simplify development workflows. (Version: 4.37.1)

  • Docker + Docker Compose:
    Used on Linux for managing containerized services and orchestrating multi-container setups with Compose files.
    (Docker Engine: 27.4.1, Compose: 2.32.1)


Next:   Quick Start
Back to: Features

Return to Top
Home Page


Clone this wiki locally