This is the second semester project code repository for Technical Degree students in Networking and Telecommunications. It is a Parcel Management System.
This project is composed by a frontend, the UI the user interacts with, and a backend, which is the api.
The backend uses Flask as the main API framework. The database is a PostgreSQL database.
There are several kinds of file :
File name | Use case |
---|---|
run.py | Main entry point of the app |
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 |
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.
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. |
Those are files needed by the frontend (CSS, images, enventually JS scripts)
Those are ressources needed by Flask to deliver the frontend. They are the base architecture of the pages.
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.
File name | Use case |
---|---|
config.py | This is the config file for the API |
- 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
This project is made by :
- Alexis LEBEL @Alestrio
- Meryem Kaya @MeryemKy
Malo Legrand @HoesMaaad