An open API service indexing awesome lists of open source software.

https://github.com/masum184e/spl_02

SPL stands for Software Project Lab, which is a 3-credit course (SE-3112) in BSSE. All of my slides, sheets, docs, and code used in SPL 02 are available here.
https://github.com/masum184e/spl_02

academic-project android-project iit java-project mobile-development mobile-development-project se software-engineering software-project-lab-02 spl-02 web-development web-development-project

Last synced: 21 days ago
JSON representation

SPL stands for Software Project Lab, which is a 3-credit course (SE-3112) in BSSE. All of my slides, sheets, docs, and code used in SPL 02 are available here.

Awesome Lists containing this project

README

          

# Software Project Lab 02 (SPL-02)

Software Project Lab 02 (SPL-02) is a web and database–oriented software development course under the curriculum of Software Engineering. This course emphasizes practical experience in full-stack web application development, including frontend design, backend logic, and database management.

Unlike SPL-01, which is an individual Java OOP–based project, SPL-02 is a group-based project course, where students collaboratively design, develop, and deploy a complete web-based system following proper software engineering principles.

# Our Project - VroomGo

During the early academic phase, the project was named **Odyssey**, and later rebranded as **VroomGo** to better reflect its modern, dynamic, and user-friendly vision.

VroomGo is a car rental platform developed as part of the **Software Project Lab 02 (SPL-02)** course. Although SPL-02 primarily focuses on web application development, our project was designed to include both web and mobile applications based on the guidance of our course supervisor.

The mobile application is developed to provide a more convenient and user-friendly experience for renters and vehicle owners, as mobile platforms are more accessible for day-to-day usage. On the other hand, the web application serves as an administrative dashboard, enabling administrators to efficiently manage users, vehicles, bookings, and overall platform operations.

VroomGo aims to deliver a seamless vehicle rental experience by connecting renters, vehicle owners, and administrators through a unified system. The platform allows users to search, book, and manage vehicles efficiently while ensuring secure transactions, transparent pricing, and effective administrative control.

# Our Team

1. [Nuzhat Nasrum](https://github.com/nuzhatnasrum) — BFH2125016F
2. [Md Nazirul Islam Bijoy](https://github.com/nazirulbijoy) — ASH21225023M
3. [Md Masum Billah](https://github.com/masum184e) — ASH2125033M
4. [Md Imteaz Ahmed](https://github.com/imteaz1213) — ASH2125035M

> Institute of Information Technology
Noakhali Science and Technology University

## Resources
**Proposal**

- [Presentation](/slides/Project%20Proposal.pptx)
- [Report](/docs/Project%20Proposal.docx)

**Mid**

- [Mid Presentation / SRS](/docs/SRS%20Document.pdf)
- [ER Diagram](/code/php_backend/odyssey.sql)

**Final**

- [Presentation](/slides/Final%20Presentation.pptx)
- [Submitted Code](/code/)
- [Submitted Preview](https://drive.google.com/file/d/1lHl9rU6AmC5sPRt0wnowNxD8chx5t7ku/view?usp=sharing)

# Preview

[](https://drive.google.com/file/d/1lHl9rU6AmC5sPRt0wnowNxD8chx5t7ku/view?usp=sharing)

[SRS Document](/docs/SRS%20Document.pdf) | [Video](https://drive.google.com/file/d/1lHl9rU6AmC5sPRt0wnowNxD8chx5t7ku/view?usp=sharing) | [Dashboard](https://vroomgo-dashboard.vercel.app/dashboard) | [Final Codebase](https://github.com/masum184e/vroomgo)

## Objectives

The primary objective of VroomGo is to provide a convenient, reliable, and efficient solution for short-term vehicle rentals. The platform is designed to simplify the rental process by enabling users to search for vehicles, make bookings, manage profiles, and complete payments through a secure mobile interface.

Additionally, VroomGo aims to empower vehicle owners with tools to manage vehicle listings, availability, and rental history, while providing administrators with full oversight of users, vehicles, and platform operations. Through this project, the team applies mobile development as well as full-stack web development concepts, database management, and software engineering best practices in a real-world context.

# Stakeholders

- **Renter:** Individuals or businesses seeking vehicle rentals
- Can search, book, pay, and review vehicles
- **Owner:** Individuals or businesses providing vehicles for rent
- Manage vehicle listings, availability, and trip history
- **Admin:** Oversees platform operations
- Manages users, verifies vehicles, handles complaints, and monitors system activity

# Features

- User Authentication
- Secure registration, login, logout, and password recovery
- Vehicle Browsing & Filtering
- Search vehicles by location, rental date, type, and budget
- Booking System
- Online booking with pickup & drop-off details and booking confirmation
- Profile Management
- View and update personal details
- Rental and trip history access
- Vehicle Management
- Owners can add, update, remove, and manage vehicle availability
- Notifications
- Alerts for booking confirmation, reminders, and status updates
- Rating & Review System
- Mutual rating between renters and owners after trip completion
- Complaint Management
- Users can submit complaints, handled by administrators
- Admin Control Panel
- Vehicle verification
- User suspension
- Platform monitoring

# Challenges

- **Requirement Analysis:** Gathering accurate requirements from multiple stakeholder perspectives

- **Role-Based System Design:** Managing different workflows for renters, owners, and admins

- **Database Design:** Structuring relational data for users, vehicles, bookings, and transactions

- **Security:** Protecting user data and handling secure authentication and transactions

- **Backend–Frontend Integration:** Ensuring smooth data flow between UI, server logic, and database

- **Team Coordination:** Collaborative development, task division, and version control management