Project preview
Disclaimer
This project was developed as part of a university course in Information Systems. It is an educational project, not a live commercial website. The goal was not to create a visually polished interface, but to gain hands-on experience with PHP, PostgreSQL, and JSON-based data management while implementing a real-world system.
Overview
Fast & Furious Cars Inc. is a university project that simulates a car rental web platform. The platform allows users to register, log in, browse available cars, search using multiple criteria, make reservations, and view past and future bookings. Administrators have dedicated access to manage the fleet, including adding or hiding cars, updating rental prices with historical tracking, and generating statistical insights about users, reservations, and vehicle usage.

The project’s main purpose was to develop strong backend skills, focusing on PHP server-side programming, PostgreSQL database integration, secure data handling, and dynamic content generation using JSON and database queries. Frontend design was minimal and functional, serving only to demonstrate the system’s dynamic functionality.

The project was completed in collaboration with a teammate, and we used Git for version control, allowing each of us to work on our own computer while seamlessly merging updates. This workflow helped us manage the project efficiently and maintain a consistent, organized codebase.

Process

01

Understand Project Requirements

Before designing, it was essential to clarify the app’s purpose. During the team project phase, we established that the app should teach essential everyday skills, help users solve problems independently, and save time through quick, well-structured instructions. We began by thoroughly analyzing the project brief and identifying all essential functionalities for the Fast & Furious Cars Inc. system. The goal was to build a dynamic web platform where users could register, log in, browse available cars, search by multiple criteria, and make reservations, while administrators could manage the fleet, adjust rental prices, hide or show cars, and view statistics.

To visualize the interactions and processes within the system, we created a flowchart. This flowchart mapped out the major workflows, including user registration, login and logout, car search and reservation, and administrator operations.

By laying out the project visually, we were able to clarify dependencies between processes, anticipate edge cases, and provide a clear reference for structuring the backend logic and database relationships in the following steps.

Project preview

02

Design the Database Structure

We designed a relational PostgreSQL database to manage users, administrators, cars, reservations, and historical price changes. This included defining tables, relationships, constraints, and indexes to ensure data integrity and optimize queries.

Below are the conceptual and physical ER diagrams created in ONDA to illustrate the database structure and relationships between tables:

Project preview
Project preview

03

Enable Collaboration with Git

Before starting development, we set up a Git workflow to collaborate efficiently. This allowed each of us to work independently on our own machines, merge changes, and maintain code consistency. Using Git helped prevent conflicts and ensured that our project history was well-organized.

04

Implement Backend Functionality

With Git in place, we developed the backend using PHP, focusing on secure server-side logic and database interaction. Core functionalities included user registration and login with password hashing, car listing and searching with multiple criteria, reservation handling, and admin management features. Special attention was paid to validating user inputs and preventing SQL injection through parameterized queries.

upload
profile
random-hack
login-etc

Reflection

This project taught me the importance of building secure, database-driven web applications and managing backend logic effectively. By working collaboratively, I gained hands-on experience with PHP, PostgreSQL, and Git version control. If I were to continue this project, I would focus on the UX/UI and completely redesign the interface to provide a more intuitive and engaging user experience.