Skip to content

IrvingSamuel/Delivery_FASTAPI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Delivery Routing Optimizer

Overview

The Delivery Routing Optimizer is a system designed to model a delivery network for packages, such as those used by logistics companies like iFood and Amazon. The network is represented as a graph, where vertices represent distribution centers, transport hubs, and end customers, while edges represent delivery routes with limited capacities.

Objectives

  • Calculate the maximum flow of deliveries from distribution centers to end customers.
  • Optimize the use of delivery fleets by identifying congested routes and suggesting alternatives.
  • Simulate various scenarios affecting the delivery network, such as increased demand or route blockages.

Project Structure

The project is divided into several components:

Backend

  • app.py: Entry point for the backend application, initializing the API.
  • api/: Contains the API routes and data models.
    • routes.py: Defines API endpoints for network data insertion, flow calculations, and result retrieval.
    • models.py: Contains data models for the delivery network.
  • services/: Implements core functionalities.
    • graph.py: Manages the graph structure of the delivery network.
    • flow_algorithms.py: Implements the Ford-Fulkerson algorithm using the Edmonds-Karp method.
    • scenario_simulator.py: Simulates various delivery scenarios.
  • tests/: Contains unit tests for the backend components.
  • requirements.txt: Lists dependencies for the backend application.

Frontend

  • public/index.html: Main HTML file for the frontend application.
  • src/: Contains the React application components.
    • App.js: Main component for setting up routing and rendering.
    • components/: Contains components for visualizing the delivery network and flow.
    • services/api.js: Functions for making API calls to the backend.
  • package.json: Configuration file for npm.

Data

  • sample_network.json: Sample data for the delivery network.
  • README.md: Documentation for the data directory.

Features

  • Simulate and visualize the maximum flow of deliveries per hour.
  • Identify congested routes and suggest alternatives.
  • Generate reports analyzing the performance of the logistics network.
  • Simulate scenarios such as Black Friday, strikes, and extreme weather conditions.

Getting Started

To get started with the project, clone the repository and follow the instructions in the respective backend and frontend README files for setup and usage.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published