Platform for Managing a Public Transport Network

Project Type: Web + Server
Context: BSc in Software Engineering
Date: October 2020 - January 2021

Developed, in a team of 4 members, a platform able to manage the information and planning of a public transport network. This project was done throughout the 5th semester of the BSc in Software Engineering, as a way to integrate all the subjects from the semester and apply the new knowledge in a minimally complex project.

The platform manages concepts like nodes/stations, lines, routes, schedules, drivers, vehicles, work loads… It is prepared to automatize some planning tasks, such as assigning drivers to trips (this was done through the use of genetic algorithms, A* and so on). It allows, as well, for the visualization of the network in an interactive map. Authentication was implemented, since there are different types of users with different permissions.

Please see below for more details on how it works and its architecture.

Technologies: Node.js | TypeScript | Express | MongoDB | .NET | PostgreSQL | PROLOG | Angular | Heroku

Introduction to the system

There are three types of users: common user, admin, and manager.

Log in

Logging in the system as a Common User

The common user has access to a map that shows the stations in the network as well as the lines. The common user can also manage its personal information in the "Account" option, as well as the other users.

User menu and network map

Logging in the system as an Admin

The admin manages all the elements of the public transport network (e.g. stations, lines, routes, trips...).

Admin menu

List of lines in the network

Creating a new node/station in the network

Logging in the system as a Manager

The manager is the person responsible for assigning drivers and vehicles to the required trips.

Manager menu

Creating the daily work load of the drivers (automatically)

Checking the best route between two stations

Architecture of the platform

The architecture follows a client-server pattern, although three web services are present instead of one.

Architecture of the platform