Skip to content

RetroRides is an application made in C# winforms, designed for a vintage car shop that allows users to browse through a collection of classic vehicles, make bookings, and explore the gallery of available cars.

License

Notifications You must be signed in to change notification settings

LT-Ripjaws/vintage-car-shop-csharp-project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🚘 RetroRides - Vintage Car Shop Management System C# project

Contributors Technologies Status

Intro

πŸš— Overview

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.

Purpose

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

Main Objectives

  • 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

✨ Features

Customer Features

  • 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)

Administrator Features

  • 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

πŸ—οΈ System Architecture

RetroRides follows a three-tier architecture:

Presentation Layer (Forms) β†’ Business Logic Layer (BLL) β†’ Data Access Layer (Data)

πŸ“ Project Structure

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

πŸ‘₯ User Roles

1. Customer (General User)

  • Browse vehicle gallery
  • Make and cancel bookings
  • Update profile information
  • View booking history

2. Administrator/Staff

  • All customer privileges
  • User account management
  • Vehicle inventory management
  • Booking oversight and management
  • Staff role assignment

3. Super Admin

  • All administrator privileges
  • Cannot be demoted or deleted
  • Highest level of system control

πŸ› οΈ Technologies Used

  • Language: C#
  • Framework: .NET Framework 4.7.2
  • UI Framework: Windows Forms
  • IDE: Visual Studio 2022
  • Architecture Pattern: Three-tier architecture

✨ Demo & Screenshots

Login Registration
login registration
Home Gallery
home gallery
Settings Bookings
settings bookings
Admin Car Info Admin User Info
admin car info admin user info

AND MORE!

πŸš€ Setup Instructions

Prerequisites

  • Visual Studio 2019 or later
  • .NET Framework 4.7.2 or later

Installation Steps

  1. Clone the repository

    git clone https://github.com/LT-Ripjaws/vintage-car-shop-csharp-project.git
    cd vintage-car-shop-csharp-project
  2. Open the solution

    • Open RetroRides.sln in Visual Studio
  3. Restore NuGet Packages

    • Right-click on Solution β†’ Restore NuGet Packages
    • Or: Tools β†’ NuGet Package Manager β†’ Restore
  4. Database Setup

    • Create a new database named RetroRidesDB or use the provided RetroRides.mdf
  5. 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.
  6. Build the Solution

    • Build β†’ Build Solution (Ctrl+Shift+B)
  7. Run the Application

    • Press F5 or click Start
  8. Add picture paths at ImageManager helper class.

Default Admin Credentials

Username: SuperAdmin
Password: SuperPass

(Change these after first login)

Default User Credentials

Username: test
Password: test

(Change these after first login)

πŸ’‘ Usage

For Customers

  1. Registration

    • Click "Register" on the login form
    • Fill in required details
    • Submit to create account
  2. Browsing Gallery

    • Login β†’ Click "View Gallery"
    • Browse through vintage car collection
  3. Making a Booking

    • Navigate to "Bookings"
    • Select desired vehicle
    • Choose date and confirm
  4. Managing Profile

    • Go to "Settings"
    • Update personal information

For Administrators

  1. User Management

    • Access Admin Dashboard
    • Click "User Manager"
    • Promote/demote/delete users as needed
  2. Vehicle Management

    • Click "Vehicle Manager"
    • Add new vehicles or edit existing ones
    • Upload vehicle images
  3. Booking Management

    • View all bookings in "Bookings" section
    • Approve or cancel bookings

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ“Š Project Status

🚧 Completed development – Version 1.0.0

πŸ‘€ Author

Chinmoy Guha

Note: This is an academic project developed for educational purposes. It demonstrates software engineering concepts and is not intended for production.

Profile Banner

About

RetroRides is an application made in C# winforms, designed for a vintage car shop that allows users to browse through a collection of classic vehicles, make bookings, and explore the gallery of available cars.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages