| client@a7674a0ce1 | ||
| server@40215cbb72 | ||
| .gitmodules | ||
| README.md | ||
Bay Wizard: Automotive Shop Management Software
Current Status
This is a meta-package containing modules for the client and server for the SMS. Currently, both the server and client sources are private. Both are rapidly changing, being actively developed, and are currently a level beyond unstable. Once the bones of the project have begun to stabilize, the goal is to open the project into some form of open source (to be decided).
Background
Having 8 years of experience working in Automotive repair, I've had the (admittedly, quite unpleasant) experience of using a variety of different shop management softwares. From terminal based working in a quick-lube shop, to modern web-apps with the newest JavaScript frameworks, I've seen it all.
The result of all that seeing? User experience is almost never prioritized for the automotive sector. Most applications in production use right now are made without prioritizing what the people working these shops need: a powerful shop management system that reduces the amount of time spent pushing papers and more time doing what matters in this industry—customer service.
Project Goals
Overall project goals are to get a working (and usable in industry) automotive shop management system. This goal will be met after a series of vertical slices, to break associated implementations into related chunks. Development energy is focused on functionality first, with form and design to follow. Nothing at the time of writing this is finalized, but development will be moving towards the following vertical slices:
Vertical Slice Roadmap
1. Work Order Creation, Writing, and Invoicing
The core functionality that every shop management system needs to even be called a shop management system:
- Create and modify customer profiles, and associate vehicles with these profiles
- Schedule appointments, and open work orders from appointments
- Create and modify work orders
- Take payment on, and invoice work orders
2. Parts Management
- Ability to add a part as a stocked itemp
- Ability to track part costs and external prices over time
- Track usage of parts over time to see how many are sold
- Alert users to any parts which are low on stock
3. Digital Vehicle Inspections
- Ability to create and edit inspection sheets
- Ability to tie inspection sheets to work orders, or to jobs within work order
- Easy to use interface for any user performing an inspection
- Ability to submit pictures on inspection items
4. External Integrations
Note: Unsure if at this point in development external integrations will even be possible. More exploratory work would be needed at this point in development.
Ideally, the following would be possible:
- Integration with some starting parts suppliers or aggregators
- Integration with tire/rim suppliers
Probably impossible wihtout going through some aggregator like PartsTech - Easy transfer from the parts suppliers into the parts management systems, and onto active work orders
5. System Reports
- Implement a report system to display shop reports
- Create a framework for making reports easy to create
MaybeCreate a method for any admin to create their own custom reports
6. User authentication, and multi-user support
- Ability to set up user accounts, with their own usernames and passwords
- Potentially implement some form of multi-factor authentication
- Require authentication across all api endpoints
- Ability to set permissions by group and apply to employees
- Limit user abilities based on permissions
7. Styling and design
- Uniform styling applied across all pages, modals, dialogs, etc.
- Unique branding created for the project
- Move away from default Material Design styling to something more unique
- Consistent color palettes applied across the frontend application
- Styling uses media rules to apply to both phone and tablets
8. Application packaging
- Target Linux and Windows for the server application
At the time of writing, currently unable to develop for Macs. - Ideally able to run the server on any machine connected to the network, and clients able to find the server at any point
- Target Desktop and Mobile/Tablets for the client
Some shops give tablets to their technicans
Gripes with other softwares (aka: the rant section)
SaaS (Software as a Service)
The biggest right now: most up-to-date shop softwares all operate on a predatory SaaS model where subscriptions per shop can push almost $800 CAD per month, not even including any CRM's a shop may want (which is easily another $300 per month or more). All that just for everything to be ran on a server across the country, resulting in insane latency when trying to get through the dozens of unnecessary pages. The resulting 'service' these softwares provide always end up souring the users who spend their entire days fighting with just to complete the basics.
Data is conveniently stored on the cloud, and out of reach
(todo)
Inefficient workflows and endless clicking
(todo)
Schedulers that are more hinderance than help
Scheduling is the deciding factor in shops working by appointment. The day is dictated by how many appointments are scheduled, contrasted by how many total working hours the shop may have in any given day. If the day is overbooked, you may end up with unkept promises, upset customers, and upset techs. Underbooked, and your techs productivity will end up wasted. When scheduling is such a critical part of running a shop smoothly, why are all the calendars in shop softwares nothing more than the bare basics to get by?
Apps that are created without any service advisor input
There is no other option
At the end of the day, when every piece of automotive software runs the same (ie, like garbage), charges exorbitant prices, and controls all of your data, there is no escape from the software hell. Hence this project was born; not born out of trying to capitalize on a niche market, but instead one with the goal of liberating it from the slop that is available.
(The rant section came out a little preachy, should probably tone that back a bit)