0% found this document useful (0 votes)
6 views1 page

Multi-User Vehicle Parking System Report

Uploaded by

ZENITH
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)
6 views1 page

Multi-User Vehicle Parking System Report

Uploaded by

ZENITH
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

Vehicle Parking System – Project Report

Student Details:
Name: _________________________________
Roll Number: ____________________________
Email: _________________________________

Project Description:
This project implements a multi-user vehicle parking system designed as a demo for the MAD■1 course.
The system manages different parking lots and spots for four■wheelers and supports two roles:
an administrator and regular users. Administrators can create, edit and delete parking lots, adjust
the number of spots and view users and occupancy summaries. Regular users can register, log in,
reserve the first available parking spot in a chosen lot, release it when leaving and view their
booking history. The application uses Flask for routing and business logic, SQLAlchemy with SQLite
for data persistence, Jinja2 and Bootstrap for the user interface and [Link] for simple charts.

Technologies Used:
- Flask (backend routing and templating)
- SQLAlchemy + SQLite (ORM and database)
- Jinja2 (server-side HTML rendering)
- Bootstrap 5 (styling and responsive layout)
- [Link] (client-side charts)
- Werkzeug security helpers (password hashing)

Database Schema:
• users(id PK, name, email, password_hash, role, address, pin_code, created_at)
• parking_lots(id PK, name, address, pin_code, price_per_hour, max_spots)
• parking_spots(id PK, lot_id FK→parking_lots.id, status)
• reservations(id PK, spot_id FK→parking_spots.id, user_id FK→[Link], start_time, end_time, price_per_hour)

Relationships: A parking lot has many parking spots; a parking spot belongs to one lot.
Users can make many reservations; each reservation links a user to a specific spot and records times.

Architecture and Features:


The project is organised using Flask blueprints: ``auth`` handles registration and login, ``admin``
encapsulates all administrator routes and ``user`` contains user-facing functionality. The models
are defined using SQLAlchemy and live in the ``models`` package. HTML templates are stored under
``templates`` and grouped by role. Static files such as custom CSS are stored under ``static``.
Administrators see a dashboard summarising occupancy with a chart and can manage lots and users.
Users can reserve and release spots and view a history of their reservations along with computed costs.

API Endpoints:
No separate REST API was implemented in this MAD■1 demo.

Video:
Please see the accompanying presentation video for a walkthrough.

AI/LLM Use:
This report and the accompanying code were generated with assistance from a language model to
ensure clarity and completeness. All code logic and design decisions were implemented and
reviewed by the student.

Common questions

Powered by AI

The system's architecture supports modular development through the use of Flask blueprints, which segregate functionalities into distinct modules. For example, 'auth' handles registration and login, 'admin' encompasses administrator routes, and 'user' manages user-facing functionalities. This structure allows for easier maintenance, testing, and scaling by compartmentalizing code related to specific roles .

The vehicle parking system enhances the user interface and experience by employing technologies like Jinja2 for server-side HTML rendering, Bootstrap 5 for styling and responsive layout, and Chart.js for rendering simple client-side charts. These technologies together ensure that the application is not only functional but also visually appealing and responsive to various device sizes .

User registration and authentication in the vehicle parking system are managed by the 'auth' blueprint module in Flask. The process begins with user registration, where users provide necessary details such as name, email, and password. Passwords are securely hashed using Werkzeug security helpers before storage. Authentication involves verifying the provided credentials against stored records, allowing users to log in and access the system functionalities .

In the vehicle parking system, the key database tables include users, parking lots, parking spots, and reservations. The relationships are as follows: a parking lot can have many parking spots, each parking spot belongs to one specific lot. Users can make multiple reservations, and each reservation is linked to one specific spot and user, including records of start and end times and price per hour .

Modern web app technologies enhance the system's performance and user engagement through the integration of various frameworks and libraries. Flask powers the routing and business logic efficiently, Jinja2 enables dynamic content rendering, Bootstrap 5 assures responsive design and aesthetic appeal, while Chart.js provides visual data insights. SQLAlchemy streamlines database interactions, ensuring swift and reliable data transactions, collectively offering a robust user experience .

The data persistence layer in this project is structured using SQLAlchemy with SQLite, where SQLAlchemy acts as the Object-Relational Mapping (ORM) interface to SQLite, the database system. It utilizes a database schema involving tables for users, parking lots, parking spots, and reservations, with clearly defined relationships such as a parking lot having many spots and a reservation linking a user to a specific spot .

The vehicle parking system defines two primary roles: administrators and regular users. Administrators have the ability to create, edit, and delete parking lots, adjust the number of available parking spots, and view summaries of users and occupancy. On the other hand, regular users can register, log in, reserve the first available parking spot in a chosen lot, release the spot upon leaving, and view their personal booking history .

The system provides administrators with a dashboard that summarizes occupancy and includes a chart for easy visualization. They can manage parking lots, adjust the number of parking spots, and view all users. These features collectively ensure that administrators have comprehensive control over the system's resources and can efficiently manage parking operations .

Security measures in the vehicle parking system include the use of Werkzeug security helpers for password hashing, ensuring that user passwords are stored securely in the database. This helps protect user data from unauthorized access .

Flask serves as the backend routing and templating framework in the vehicle parking system. It interacts with other components by using SQLAlchemy for data management and ORM, Jinja2 for HTML template rendering, and libraries like Werkzeug for security operations. The system's architecture with Flask blueprints allows role-specific modules for user and admin functionalities, encapsulating distinct parts of the business logic .

You might also like