ekordev / barber-system-final-project Goto Github PK
View Code? Open in Web Editor NEWThis project forked from osofela/barber-system-final-project
BarberQ is a web application that I built in my last year in college. The idea came from a personal friend of mine who is a men's barber. She was thinking of starting up her own business and wanted to provide her clients with a way of booking appointments online. She wanted to make the business unique by providing clients with a more personal and richer experience. To make it unique she came up with the idea of separate boots for haircuts and also providing the client a music choice and beverage choice when making an appointment. So each client would feel like it's a private haircut and this will create trust between the client and barber. I mentioned also that there could be employee system in the web app where she can login and control her business, employees, etc. I used Laravel for the backend and AngularJS for the frontend. The first step of the web application was setting up the backend and building a REST API. During this, I was building requirements and figuring out the structure of the database. The backend is very important because it is holding all the data and we want the data to be structured correctly. Once the backend was done I started working on the frontend by creating a Barbers page where the admin barber can login and create new barbers, update barbers, etc. The next step was creating the appointments page where any barber can login and look at their appointments for the day, week, month. Appointments at the start were displayed in a table but after having a talk I changed it to display them on a calendar which would be easier for the users. Thanks to using Laravel it already provides authentication out of the box so I already had the register and login pages complete. For making an appointment this would be very much the same for the client and the barber. This page is a modal form where the client or barber can select the barber for the appointment, the client for the appointment, music choice, beverage choice, date, etc. The only difference is that the client when filling in the form won't have an option to select a client they will only be able to select the barber of their choice. After the appointment form was done I then spent time on the design and see what was more comfortable for the user. Lastly, I decided to integrate an analytics software called Mixpanel. I thought this could really improve the business and help answer some important questions in the business. I really enjoyed building this site and interacting with her to find out exactly what she wanted and how she wanted it to look. Building this app got me hooked on web development and development in general.
License: MIT License