Functional Requirements - COS301-SE-2025/Swift-Signals GitHub Wiki

R1: Login/Signup

R1.1: Must allow users to login their existing account details R1.2: If user does not have an account, allow user to create account R1.3: Once registered, allow users to login R1.4: Allow users to switch between light/dark mode.

R2: Dashboard page

R2.1: Include navbar in all pages that allows users to access various pages such as the simulations page. R2.2: Show statistics such as total intersections, active simulations, traffic volume and top intersections. R2.3: Show recent simulations as well as their status and allow users to view details about them. R2.4: Allow users to insert a new intersection, run simulation and view the map. R2.5: Allow users to logout by clicking the logout button.

R3: Intersections page

R3.1: Allow users to view all listed intersections. R3.2: Allow users to search a specific intersection. R3.3: Allow users to add a new intersection. R3.4: Allow users to be able to simulate, edit and delete a specific intersection.

R4: Simulation page

R4.1: Users should be able to view recent simulations and optimizations with information about them such as average wait time and throughput. R4.2: Allow users to insert a new simulation. R4.3: Allow users to select a specific intersection for filtering purposes. R4.4: Allow users to navigate through simulation pages by clicking on 'next', 'prev' or a page number buttons.

R5: Users Page

R5.1: Users must be able to view all listed users, with their information included. R5.2: Allow users to be able to navigate through table pages. R5.3: Users must be able to edit and delete information.