RetroRides is a desktop application developed using C# Windows Forms as an academic project, designed to streamline operations for a vintage car showroom. The application provides a comprehensive platform for managing customer interactions, vehicle inventory, and booking systems while maintaining distinct user experiences for customers and administrative staff.
This academic project demonstrates practical implementation of:
- Multi-tier application architecture (BLL, DAL)
- Role-based access control (RBAC)
- Database integration and CRUD operations
- User interface design principles
- Software engineering best practices
- Create an efficient platform for managing customer interactions and administrative workflows
- Provide an intuitive interface for non-technical users
- Implement secure authentication and authorization
- Demonstrate separation of concerns through layered architecture
- User Authentication: Secure login and registration system
- Vehicle Gallery: Browse high-quality images of vintage car collection
- Booking System: Reserve vehicles for future dates, add credit card info.
- Booking Management: View past bookings and cancel reservations
- Profile Management: Customize personal information (name, address, contact details)
- User Management:
- View all registered users
- Promote users to admin role
- Demote admins to regular users
- Delete user accounts
- Staff Management: Manage employee accounts and admin privileges
- Vehicle Management: Add, edit, and remove vehicle listings from inventory
- Booking Oversight: View and manage all customer bookings
- Super Admin Protection: Highest-level admin cannot be demoted or deleted
RetroRides follows a three-tier architecture:
Presentation Layer (Forms) β Business Logic Layer (BLL) β Data Access Layer (Data)
RetroRides/
βββ BLL/ # Business Logic Layer
βββ Data/ # Data
β βββ DatabaseConnection.cs
βββ Forms/ # UI Forms
βββ Utilities/ # Helper classes
βββ Resources/ # Images and resources
βββ Properties/ # Assembly info
βββ bin/ # Build output (ignored)
βββ obj/ # Build intermediates (ignored)
βββ app.config # Application configuration
βββ packages.config # NuGet packages
βββ Program.cs # Application entry point
βββ icon.ico # Application icon
- Browse vehicle gallery
- Make and cancel bookings
- Update profile information
- View booking history
- All customer privileges
- User account management
- Vehicle inventory management
- Booking oversight and management
- Staff role assignment
- All administrator privileges
- Cannot be demoted or deleted
- Highest level of system control
- Language: C#
- Framework: .NET Framework 4.7.2
- UI Framework: Windows Forms
- IDE: Visual Studio 2022
- Architecture Pattern: Three-tier architecture
| Login | Registration |
|---|---|
![]() |
![]() |
| Home | Gallery |
|---|---|
![]() |
![]() |
| Settings | Bookings |
|---|---|
![]() |
![]() |
| Admin Car Info | Admin User Info |
|---|---|
![]() |
![]() |
- Visual Studio 2019 or later
- .NET Framework 4.7.2 or later
-
Clone the repository
git clone https://github.com/LT-Ripjaws/vintage-car-shop-csharp-project.git cd vintage-car-shop-csharp-project -
Open the solution
- Open
RetroRides.slnin Visual Studio
- Open
-
Restore NuGet Packages
- Right-click on Solution β Restore NuGet Packages
- Or: Tools β NuGet Package Manager β Restore
-
Database Setup
- Create a new database named
RetroRidesDBor use the providedRetroRides.mdf
- Create a new database named
-
Configure Connection String
- Open
app.config - Update the connection string:
<connectionStrings> ......... connectionString="Server=YOUR_SERVER;Database=Path\to\RetroRides.mdf;Integrated Security=true;" ............... </connectionStrings>
- update the DB connection file in the Data folder and set your .mdf path as well.
- Open
-
Build the Solution
- Build β Build Solution (Ctrl+Shift+B)
-
Run the Application
- Press F5 or click Start
-
Add picture paths at ImageManager helper class.
Username: SuperAdmin
Password: SuperPass
(Change these after first login)
Username: test
Password: test
(Change these after first login)
-
Registration
- Click "Register" on the login form
- Fill in required details
- Submit to create account
-
Browsing Gallery
- Login β Click "View Gallery"
- Browse through vintage car collection
-
Making a Booking
- Navigate to "Bookings"
- Select desired vehicle
- Choose date and confirm
-
Managing Profile
- Go to "Settings"
- Update personal information
-
User Management
- Access Admin Dashboard
- Click "User Manager"
- Promote/demote/delete users as needed
-
Vehicle Management
- Click "Vehicle Manager"
- Add new vehicles or edit existing ones
- Upload vehicle images
-
Booking Management
- View all bookings in "Bookings" section
- Approve or cancel bookings
This project is licensed under the MIT License - see the LICENSE file for details.
π§ Completed development β Version 1.0.0
Chinmoy Guha
- GitHub: @LT-Ripjaws
- Email: [email protected]
Note: This is an academic project developed for educational purposes. It demonstrates software engineering concepts and is not intended for production.









