0% found this document useful (0 votes)
8 views5 pages

Vehicle Parking Management App Project

The Vehicle Parking App is a multi-user application designed for managing parking lots and spots for 4-wheelers, featuring roles for both an admin and users. The app will utilize Flask, Jinja2, HTML, CSS, and SQLite, with specific functionalities for user registration, parking spot reservation, and admin management of parking lots. Students are required to submit a project report detailing their approach, frameworks used, and include an ER diagram, along with a video presentation of their project.
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views5 pages

Vehicle Parking Management App Project

The Vehicle Parking App is a multi-user application designed for managing parking lots and spots for 4-wheelers, featuring roles for both an admin and users. The app will utilize Flask, Jinja2, HTML, CSS, and SQLite, with specific functionalities for user registration, parking spot reservation, and admin management of parking lots. Students are required to submit a project report detailing their approach, frameworks used, and include an ER diagram, along with a video presentation of their project.
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Modern Application Development I

Project Statement
Vehicle Parking App - V1
It is a multi-user app (one requires an administrator and other users) that manages
different parking lots, parking spots and parked vehicles. Assume that this parking app is for
4-wheeler parking.

Frameworks to be used

These are the mandatory frameworks on which the project has to be built.

Flask for application back-end

Jinja2 templating, HTML, CSS and Bootstraps for application front-end

SQLite for database (No other database is permitted)

Note:

All demos should be possible on your local machine.

The database must be created programmatically (via table creation or model code).
Manual database creation, such as using DB Browser for SQLite, is NOT allowed.

Roles

The platform will have two roles:

Admin - root access - It is the superuser of the app and requires no registration

Admin is also known as the superuser

Admin can create a new parking lot

Each parking lot can have any number of parking spots for 4-wheeler parking

Each parking lot can have a different price

Admin can view the status of all available parking spots on his/her dashboard

Admin can edit/delete any number of parking lots, i.e., admin can increase or
decrease the number of parking spots inside the lot.

User - Can reserve a parking space

Register/Login

Choose an available parking lot

Book the spot (automatically allotted by the app after booking)

Release or vacate the spot


Terminologies

User: The user will register/login and reserve any parking spot.

Admin: The superuser with full control over other users and data. No

registration is required, i.e. the admin should exist whenever the database is

created.

Parking lot: It’s the physical space where the collection of parking spots are available
for an area. The parking lot may contain the following attributes.

id - primary key

prime_location_name

Price

Address

Pin code

maximum_number_of_spots

etc: Additional fields (if any)

Parking spot: The physical space for parking a 4-wheeler parking. The parking spot
may contain the following attributes.

id - primary key

lot_id (foreign key-parking lot)

status(O-occupied/A-available)

etc: Additional fields (if any)

Reserve parking spot: Allocates parking spot as per the user requests.

This may contain the following attributes.

id - primary key

spot_id (foreign key-parking spot)

user_id(foreign key-users)

Parking_timestamp

Leaving_timestamp

parking_cost / unit time

etc: Additional fields (if any)


Note: The above tables and fields are not exhaustive, students can add more tables and fields
as per their requirements

Similar apps
[Link]

Application Wireframe

Vehicle Parking App

Note:
The provided wireframe is intended only to illustrate the application's flow and demonstrate
what should appear when a user navigates between pages.

Replication of the exact views is NOT mandatory.

Students are encouraged to work on their front-end ideas and designs while
maintaining the application's intended functionality and flow.

Core Functionalities

Admin login and User login

A login/register form with fields like username, password etc. for the user and a login
form for the admin

You can either use a proper login framework or just use a simple HTML form with
username and password (we are not concerned with how secure the login or the app
is)

The app must have a suitable model to store and differentiate all types of users

Admin Dashboard - for the Admin

The admin should be added, whenever a new database is created.

The admin creates/edits/deletes a parking lot. Note: Delete only if all spots in the
parking lot are empty.

The admin can’t add each parking spot individually. The number of parking spots will
be created based on the maximum number of parking spots in a lot.

The admin can view the status of parking spot and check the parked vehicle details If
the parking spot status is occupied.

The admin can view all registered users.

The admin can view the summary charts of parking lots/spots.

User dashboard - for the User

The user can choose an available parking lot and allocation is done as per the first
available parking spot. Note: The user can’t select a parking spot.
The user changes the status of the parking spot to occupied, once the vehicle is
parked.

The user changes the parking spot status to released, once the vehicle is moved out
of the parking.

The timestamp is recorded between parking in and parking out.

Shows the summary charts on his/her parking.

Recommended and/or Optional functionalities

Ability for an admin to search for a particular parking spot and whether it is vacant or
occupied.

API resources are created to interact with the parkings spots, lots and/or users.
(Please note: you can choose which API resources to make from the given ones, It is
NOT mandatory to create API resources for CRUD of all the components)

APIs can either be created by returning JSON from a controller or using a flask
extension like flask_restful

External APIs/libraries for creating charts, e.g. Chart JS

Implementing frontend validation on all the form fields using HTML5 form validation
or JavaScript

Implement backend validation within your app's controllers.

Provide styling and aesthetics to your application by creating a beautiful and


responsive front end using simple CSS or Bootstrap

Incorporate a proper login system to prevent unauthorized access to the app using
Flask extensions like flask_login, flask_security etc.

Any additional feature you feel is appropriate for the application

Evaluation

Students have to create and submit a project report (not more than 5 pages) on the
portal, along with the actual project submission

The report must include the following things;

Student details

Project details, including the question statement and how you approached the
problem statement

Frameworks and libraries used

ER diagram of your database, including all the tables and their relations

API resource endpoints (if any)

Drive link of the presentation video


If a student has used any form of AI/LLM for the project, you will need to mention the
extent of use in your report ( click here for the doc)

Click here for project report demo

Possible folder structure:

All code is to be submitted on the portal in a single zip file (zipping instructions are
given in the project document - Project Doc T22025

Video Presentation Guidelines (Advised):

1. A short Intro (not more than 30 sec)

2. How did you approach the problem statement? (30 sec)

3. Highlight key features of the application (90 sec)

4. Any Additional feature(s) implemented other than core requirements (30 sec)

Note:

1. The final video must not exceed 5-10 minutes.

2. Keeping your video feed on during recording (like in a screencast) is optional but
recommended.

The video must be uploaded on the student drive with access to anyone with the link
and the link must be included in the report:

This will be viewed during or before the viva, so it should be a clear explanation
of your work.

Viva: after the video explanation, you are required to give a demo of your work, and
answer any questions that the examiner asks:

This includes making changes as requested and running the code for a live
demo.

Other questions may be unrelated to the project itself but are relevant to the
course.

Instructions

This is a live document and will be updated with more details (wireframe)

We will freeze the problem statement on or before 20/04/2025, beyond which any
modifications to the statement will be communicated via proper announcements.

The project has to be submitted as a single zip file.

You might also like