Skip to content

Nautiaqua/IntegProj

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

55 Commits
 
 
 
 
 
 

Repository files navigation

Parking Management System Design

This system is meant to only be used by parking area staff. There are NO customer accounts involved.


Page Layout

PAGE NAME: Login.php

Very first screen of the app, hence all operations will start here.

  • Has form input fields for email and password.
  • Regex check will be performed for the email field upon the clicking of submission.
  • Email and password validity will be checked via the accounts table in the database.
  • Error message will appear at the bottom if password is incorrect or email is in the wrong format.

PAGE NAME: Dashboard.php

The landing page after logging in, allows the employee to navigate to different parts of the app.

  • Has a grid of cells showing every single parking space (10 per row). The cell will be colored green if available, red if unavailable. Clicking on any of them brings the user to TableView.php
  • Has a table showing the 5 most recent parked cars / 5 most recent values of the vehicles table.
  • Has a square which shows current daily revenue.
  • Has a square which shows total amount of cars parked today.

PAGE NAME: TableView.php

A tabular view of all the parking spaces, their status, and availability.

  • Will contain an html-made table with the following fields: Spot ID, Spot Name, Status, License Plate, Vehicle Name, Owner, Entry Time, Actions.
  • To get the data for that table, a query which joins the results of parking and vehicles will be used. All the parking spots from parking MUST appear.
  • If a parking spot has its status set to "OPEN" or its spot_id isn't in vehicles, then its data for the License Plate, Vehicle Name, Owner, Entry Time, Actions will be set to "N/A" automatically.
  • The Actions column is only available for rows with their status set to "TAKEN". It displays 2 main buttons: a check mark and 3 vertical dots. The check mark sends the row's data to the history table and deletes it from the vehicles table, then refreshes the page. The 3 vertical dots acts as an options menu with the following options: view driver's license, view vehicle registration, edit, delete
  • The table is paginated and will only display 10 rows per page.
  • Driver's license and registration will be deleted from files upon pressing the checkbox.
  • Has a green "new vehicle" button for recording new vehicles.

PAGE NAME: TransactionHistory.php

Displays the details of the history table in the database

  • Has a table with the following columns: License Plate, Vehicle Name, Owner, Spot, Entry Time, Exit Time.
  • The data for the table can be obtained by performing an SQL query on the history table.
  • The table is paginated and will only display 10 rows per page.

PAGE NAME: AddVehicle.php

The page that appears when you press the "add" button in TableView.php

  • Has form input fields for the following: Owner Name, License Plate, Vehicle Name, a dropdown / combobox for Parking Spot, and upload fields for Driver's License and Vehicle Registration.
  • The spot dropdown only allows spots that are marked as "OPEN" to be picked.
  • The Driver's License and Vehicle Registration will be saved to our files NOT THE DATABASE. What gets pushed to the database is the file path pointing to the driver's license and vehicle registration (Example: "Files/Licenses/JohnDoe.png").

PAGE NAME: EditVehicle.php

The editing page that appears when you press the "edit" option in TableView.php

  • Exact same layout as Add.php but with only the option to edit Owner Name, License Plate, Vehicle Name, and upload fields for Driver's License and Vehicle Registration.
  • When you load the page after pressing edit, the current values of the row you're editing should be reflected on the form input fields.

PAGE NAME: SpotManagement.php

Page for managing the different parking spots themselves.

  • Has a table with the following columns: ID, Name, Status.
  • Data for this table is obtained by querying all the rows and columns of the parking table.
  • Above a table is a form input field with a button to the right. The button says "Add Parking Spot" and adds a new parking spot if something is typed on the text field to the left.
  • Regex confirmation needs to be run on the form input field when inputting a new parking spot. It needs to check for a a SINGLE capital letter and any digit (1-99).

PAGE NAME: ManageAccounts.php

Account management page for admins to use

  • Only accessible by admins.
  • Has a table with the following columns: Account ID, Name, Email, Account Type, and Ac tions.
  • Has a button above the table labeled "Add Account".
  • The Actions menu has a button for deleting an account.

PAGE NAME: AddAccount.php

Page for adding employee accounts. Only accessible by admins.

  • Has form input fields for Name, Email, Password, and a radio button for account type.
  • Regex validation is required for the email and password. Password must be at least 8 letters long, have 1 special character, 1 small character, 1 digit, and 1 capitalized character.
  • Warning message appears at the bottom if invalid password strucutre is inputted.

PAGE NAME: EditAccount.php

Page for adding employee accounts. Only accessible by admins.

  • The exact same layout, functions, and regex validation as AddAccount.php, but the default values for the form inputs are those of the account that's currently being edited.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors