Skip to content

REST API in Python3/Django for managing taxi fleets, allowing vehicle location queries. Implementation of queues with RabbitMQ and asynchronous processing with Celery. Automated testing with Pytest. Docker is used to run RabbitMQ. Endpoint for exporting locations in Excel with email delivery.

Notifications You must be signed in to change notification settings

lourdilene/django-5-fleet-management

Repository files navigation

fleet-management

REST API of a Fleet Management Software to query the locations of the vehicles of a taxi company.

  • Technical Details:

    • Used Python and Django to build the API.
    • Implemented queues with RabbitMQ for optimizing asynchronous tasks.
    • Utilized Celery for background processing.
    • Implemented automated testing with Pytest.
    • Used Docker to run RabbitMQ.
    • Performance optimization strategies, including creating indexes on the location table, table partitioning, and progressive data querying.
    • Endpoint for exporting locations in Excel format, with email notification to the user upon completion of processing.
  • Results:

    • Significant reduction in endpoint response times through database optimizations and efficient queries.
    • Improved user experience with optimized response times.
    • Implementation of a robust export to Excel functionality, allowing users to obtain detailed reports.
    • Enhanced scalability and performance of the application using asynchronous processing with Celery and RabbitMQ.

Installation

Install my-project with npm

  git clone git@github.com:lourdilene/django-5-fleet-management.git
  cd my-project
  pip install -r requirements.txt

Make migrations

  python manage.py makemigrations

Migrate

  python manage.py migrate

Run server

  python manage.py runserver

Installing and Run RabbitMQ

  # latest RabbitMQ 3.13
  docker run -it --rm --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:3.13-management

Runing Celery

  celery -A fleet_management worker -l info

Runing Tests

  pytest

Features

🔗 Links

portfolio linkedin

🛠 Skills

Python3, Django, Queue, RabbitMQ, ORM, REST API.

Tools

  • [Pytest]

About

REST API in Python3/Django for managing taxi fleets, allowing vehicle location queries. Implementation of queues with RabbitMQ and asynchronous processing with Celery. Automated testing with Pytest. Docker is used to run RabbitMQ. Endpoint for exporting locations in Excel with email delivery.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published