← Projects

Vehicle and spare-parts inventory in C#

A Windows Forms application for vehicle catalogs, spare-parts stock, customer requests and dealer approval workflows.

Role
Software developer
Organization
Kocaeli University
Period
2023 – 2024
Stack
C# · .NET Framework · Windows Forms · JSON.NET · LINQ
AracStok application flow linking customer, dealer and administrator operations to JSON persistence.

From finding a part to reviewing a request

A vehicle make is not enough to identify the right part. Model, equipment and available quantity also matter. I built AracStok around this workflow: customers find parts and submit requests; dealers review them and manage inventory.

Developed in December 2023–January 2024, the application uses C# and Windows Forms with separate customer, dealer and administrator screens.

01 / A catalog tied to vehicle configuration

Selecting a make updates the model list; selecting a model exposes equipment options. Parts appear with their available quantities, keeping each request attached to a specific vehicle configuration.

An Audi A3 selection with equipment, available parts and quantities beside the request action.
Customer catalog An Audi A3 selection with equipment, available parts and quantities beside the request action.

02 / Vehicle and stock management

Dealers enter vehicle details and initial part quantities, then inspect existing records and update stock. Defining catalog data and changing available quantities are separate actions.

The dealer form captures make, model, equipment and initial quantities for five spare parts.
Creating a vehicle record The dealer form captures make, model, equipment and initial quantities for five spare parts.
A crop of the original dealer interface showing the catalog table and quantity-update fields.
A closer look at stock controls A crop of the original dealer interface showing the catalog table and quantity-update fields.

03 / Requests and decisions

Each request records the part, vehicle details and timestamp. Dealers approve or reject it and customers can review the outcome. An administrator interface provides user and vehicle record management.

An original report excerpt showing parts, timestamps and approval states.
Request outcomes An original report excerpt showing parts, timestamps and approval states.

Objects and persistence

Customer, Dealer and Admin inherit common fields from User. Car holds equipment options and SparePart objects; Request represents a purchase request. CarInventory manages catalog persistence.

JSON.NET serializes user, vehicle and request records into three JSON files. LINQ supports filtering and selection; DataGridView displays records. Registration validates usernames, passwords, email and phone formats.

Engineering lessons

A single IsApproved flag cannot cleanly distinguish pending and rejected requests. Explicit states and idempotent approval operations would protect stock changes. A relational database would also allow inventory updates to be committed within transactions.

The project made the need to protect business rules independently of UI handlers concrete, particularly for quantities and repeated user actions.

Result

The desktop application connects the vehicle catalog, part inventory, customer requests and dealer review. Role inheritance, JSON persistence and event-driven interfaces are its main technical elements.