Garage Management PWA
/ Duarte & RaposoBackend · Full-stack development · 2024
A car garage kept repairs, vehicles and parts on paper. Looking up an old repair meant searching through folders, and a missing part was only noticed when it was too late to order it.
Problem
- There was no history: repairs were recorded on loose sheets, with no link between the vehicle, the customer and the parts used.
- Stock was tracked by eye. A missing part was often only noticed with the vehicle already on the lift, waiting for it.
- The internet connection in the warehouse failed frequently, so an online-only solution was not an option.
Technical decisions
- A SQL Server database organised around three entities: vehicles, repairs and parts, so that the history is recorded from day one.
- A REST API in Node.js, with the business rules (for example, when a part runs out) kept separate from the routes, which makes them easier to test.
- The application was built as a PWA so it can be installed and work offline. Records are stored on the device and synchronised when the connection returns.
- Docker to ensure the same environment on my computer and on the garage's server, and to simplify reinstallation in case of failure.
Results
- Paper records were eliminated: every repair is recorded and can be looked up by vehicle or by customer.
- Stock is updated automatically as parts are used, and the application raises an alert when an item is running low.
- The server and database were installed on the garage's premises; I was responsible for the installation and maintenance.
- Node.js
- REST APIs
- SQL Server
- Docker
- React