Skip to content

First-year Technical Degree in Networking and Telecommunications Project

Notifications You must be signed in to change notification settings

Alestrio/AmazRT

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AmazRT

This is the second semester project code repository for Technical Degree students in Networking and Telecommunications. It is a Parcel Management System.

Structure

This project is composed by a frontend, the UI the user interacts with, and a backend, which is the api.

Backend

The backend uses Flask as the main API framework. The database is a PostgreSQL database.

There are several kinds of file :

Flask :

File name Use case
run.py Main entry point of the app

Services :

Those are files intended to work with the SQLService class. Those are the interfaces between the database and the programm in itself.

File name Use case
base.py This is the interface between the services and the database

Entities :

Those files are the data models used by the programm :

File name Use case
AbstractEntity.py This is the superclass of all the entities
City.py This is the data model of a City
Parcel.py This is the data model of a parcel.
Leave.py This is the data model for parcel deposit.
Pull.py This is the data model for parcel gathering by the customer.
Send.py This is the data model for parcel transmission from a PLR to a PLD.
Transmit.py This is the data model for parcel transmission from a PLD to a PLR or another PLD.
Customer.py This is the data model for a customer.
Operator.py This is the data model for an operator.
Supplier.py This is the data model for a supplier.
Pld.py This is the data model for a PLD.
Plr.py This is the data model for a PLR.

People entities (such as Operator, Supplier and Customer) are subclasses of the UserMixin class. UserMixin implements attributes and methods related to user management, login and register.

Routes:

Those files are flask routes

API routes :

File name Use case
ParcelRoute.py This file contains the routes related to Parcel information
CityRoutes.py This file contains the routes related to Cities information
CustomerRoutes.py This file contains the routes related to customer management
OperatorRoutes.py This file contains the routes related to operator management
SupplierRoutes.py This file contains the routes related to supplier management
PldRoutes.py This file contains the routes related to PLD management
PlrRoutes.py This file contains the routes related to PLR management

Frontend routes :

File name Use case
index.py This file contains the routes related to the index page.
products_services.py This file contains the routes related to the products and services page.
tracking_expedition.py This file contains the routes related to the index page.
common_routes.py This file contains the routes related to login, register, and data processing logic.

Static :

Those are files needed by the frontend (CSS, images, enventually JS scripts)

Templates :

Those are ressources needed by Flask to deliver the frontend. They are the base architecture of the pages.

Tests :

Those are automated test intended to gain time by not making tests by hand.

Those tests currently supports database operations, by will soon support web operations.

Misc:

File name Use case
config.py This is the config file for the API

Dependencies :

  • Flask : # pip3 install flask
  • Flask-wtforms : # pip3 install flask-wtf
  • Flask-login : # pip3 install flask-login
  • Flask-qrcode : # pip3 install flask-qrcode
  • Psycopg2 : # pip3 install psycopg2-binary
  • SQLAlchemy : # pip3 install sqlalchemy

Credits :

This project is made by :

  • Alexis LEBEL @Alestrio
  • Meryem Kaya @MeryemKy
  • Malo Legrand @HoesMaaad

About

First-year Technical Degree in Networking and Telecommunications Project

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published