Professional Documents
Culture Documents
_______________
A Capstone Project
Presented to the
_______________
In Partial Fulfillment
Bachelor of Science
in
Computer Science
_______________
by
Summer 2021
2
Copyright © 2021
By
EXECUTIVE SUMMARY
The purpose of this project is to create a platform that enables small businesses to
succeed and use tools that will allow them to grow their business. The goal is to share this to
businesses in the South Bay, specifically Gilroy California. Creating an easy to use UX/UI that
will not require prior technical knowledge. COVID-19 was not only a tragedy but also an
opportunity for several to reach their goals. Just the small Giloy Community I have seen how
small businesses are trying to grow and expand their operations but are handy capped by how
much enterprise software costs but are also not able to launch an application themselves. Our
goal is to work around the current problem, and bring a solution to the already struggling
business. With the Garlic City Detailing website, we are trying to create a website that will allow
customers to schedule an appointment to get their car detailed. This website will help future
small businesses with incorporating an online scheduling system for their business.
4
TABLE OF CONTENTS
PAGE
EXECUTIVE SUMMARY ……………………………………………………........…....…….... 3
PART
I BACKGROUND AND APPROACH …………....................................................................... 5
Introduction .............................................................................................................5
Issue: Website Availability ………………................................................. 5
Solution: Garlic City Detailing .................................................................. 6
Goals and Objectives ................................................................................. 6
Stakeholders and Community .................................................................... 7
Evidence of Need ....................................................................................... 7
Feasibility Report ................................................................................................... 7
II DESIGN REQUIREMENTS ............................................................................................... 10
Functional Requirements ..................................................................................... 10
Selection of Design Criteria ................................................................................. 11
Final Deliverables ................................................................................................ 11
Approach and Methodology ................................................................................. 11
Ethical Considerations ......................................................................................... 13
Legal Considerations ........................................................................................... 13
III PROJECT RESULTS ........................................................................................................... 15
Timeline and Budget ............................................................................................ 15
Usability Testing and Evaluation ......................................................................... 16
Final Implementation ........................................................................................... 18
Discussion............................................................................................................. 21
REFERENCES ........................................................................................................................ TBD
APPENDIX
A USABILITY TEST POST-SURVEY ................................................................. TBD
B TEAM MEMBERS…………………………………………………………….
C CITE USABILITY……………………………………………………………..
5
PART 1
INTRODUCTION
Trying to set up an appointment to get your car detailed can be a hassle at times. Whether
it’s the website being not friendly enough to make it easier for the customer or the lack of a
website for that matter. Calling different shops to get an estimate or schedule an appointment can
be very tedious. The entire process to get your car detailed seems to be way more complicated
than what it really should be. There are not many websites out there that allow you to see what
openings there are without having to call in to the detailing department and figure out what
schedule will work. In today’s society, everyone is super busy and sometimes having to call, wait
for an answer through email, or having to search online for a reliable detailing service becomes a
Gilroy City Detailing is a website that can help relieve some of the pain that occurs
while trying to schedule an appointment in order to have your car detailed. Our website provides
a portal where the user can schedule appointments and view which slots are currently available.
To cancel an appointment, you simply delete the event from your Google calendar. The main
takeaway from the website is the ease of use. This allows users to be able to come and go quickly
without having to spend too much time out of their day. Clients that have a busy schedule and
need a quick and easy way to get their car detailed benefit from our website. In doing so,
valuable time, which is important for both the client and the workers, can be saved.
The majority of the detailing shops that can be found in your local communities normally
don’t have a website that you could visit and schedule an appointment. This makes the
6
experience for the client a bit more troublesome. Having to call in to the detailers shop just to
view the availability creates a hassle that could be resolved by having an online website which
An online website that is used to schedule appointments for car detailing services
provides a much more efficient form of scheduling for both the owner and customer. With an
online website, the client easily sees the availability of the car detailing shop and is able to
schedule or cancel any appointments they might need. Garlic City Detailing does just that. It
helps minimize the hassle that occurs when trying to schedule an appointment that should be
GOALS/OBJECTIVES
○ Users are able to learn more about the detailing process by seeing the process that
○ Users are able to contact us for any of their auto detailing needs
The thought processes behind this project is to help the community during difficult times.
As it is not easy to directly affect the community in meaningful ways, especially during a
pandemic. With everything becoming remote, it is not easy for a small business to grow. Having
no specific audience allows anyone to visit our site and experience it for themselves. Friends and
family were one of the first to experience how our website works.With continuous soft rollouts,
we were able to make changes and adjustments depending on the client’s feedback.
EVIDENCE OF NEED
This project was needed because there is not enough availability for car detailing shops to
schedule appointments online. With the times changing, it is important that we are adapting to
the technological advances being made. Being able to schedule your appointments online adds
on to the ability of being able to access everything at your fingertips. This cuts down on the time
being spent by the customer and the client while scheduling appointments. Instead of scheduling
FEASIBILITY REPORT
While doing research for other similar sites within the community, we noticed that, in
general, there is a lack of websites for the local shops in our community. With that in mind, there
are a few sites that are available to our community but don’t have much to display. The main
focus from their site is having a number they can contact and just a typed out address to visit
a website and now no longer has a site available. This becomes concerning for someone that was
used to visiting the website to simply see hours of operations or directions to the site. Garlic City
8
Detailing resolves this issue. With our easy to use site, you can see what slots are open to bring
your car in for detailing. As soon as you land on the home page, you are given the detailing
packages available. Once you click on our scheduling button, it redirects you to our calendar
where you are able to view the available slots open for detailing. After that, an event is sent out
to the clients email which allows them to cancel their appointment at any time and our site will
reflect the change and make that slot available once again.
appointment for the packages they offer through their “Our Services'' drop down, selecting “Auto
Detailing.” When trying to click on the option to receive a quote, the site does not return
anything. With Garlic City Detailing, we provide you a calendar to be able to schedule your
appointment once you have seen the package details. Having our site redirect you to a calendar
where it is easily accessible, easy to use, and time consuming provides a much better user
experience.
Having an admin login page also allows the shop owner to go in and update his package
detailing services and have the site replicate that information. As we are not admins of other
sites, we can;t say whether they have that feature or not. From just looking at Rob’ Mobile Auto
Detailing site, we could see that there’s no login button to be found which implies that it does not
have that functionality to update the services they provide on the site itself. With Garlic City
Detailing, we allow the shop owner to have everything available at their fingertips. Updating
your products and prices for a shop will make it easier on the owner to have a successful auto
detailing service.
Our Contact Us page allows our clients to provide any feedback they may have in regards
to our site or the auto detailing service they received. Just provide the information required and
9
someone from the shop can help answer those questions. With the location of our shop, you are
able to see where you can take your car to get detailed and have directions to our shop as well.
This makes it easy to navigate to our shop and not have to look elsewhere online for our
directions.
Having a page specifically designed for the services we provide serves as a resource for
the client to truly understand what type of service they will be receiving per package available.
This avoids any confusion the client might have in regards to what type of service they will be
receiving for their car detailing. Within this page, it is important for us to demonstrate how the
work is done. In doing so, the client can learn how to care for their vehicle themselves and avoid
an expensive repair for something that could have been avoided with simple care and
maintenance procedures.
10
PART II
DESIGN REQUIREMENTS
FUNCTIONAL REQUIREMENTS
User Stories were created by creating a mock up site (drawn up) and having meetings on
what functionalities should be included to make a website for auto detailing possible. Each
The functional requirements are split into six categories which contain—home page
(HOME), service page (SERV), products page (PROD), about page (ABT), contact us page
(CONT), and login page (LOG). Each requirement was prioritized from a 1-3 scale, with 1
indicating highest priority. Having these requirements identified by priority made working on the
In addition to the listed requirements above. We design based on the design to:
● The solution’s UI should be easy to use to invite any technological comfort level
● Landing page should have a scheduling solution to minimize actions required to schedule
an appointment
● Accurate information
FINAL DELIVERABLES
The final delivery for this project includes a fully functional web application deployed on
● Backend JawsDB database which will hold the services, products and user
documentation pertaining to the functionalities of this site and the goals of this project.
For our project we utilized NodeJS, HTML, AJAX, JawsDB, Heroku, and AWS Cloud9.
Using these tools gives us the upper hand when it comes to the competition that is out there.
Currently, there aren't too many websites for auto detailing that display the Google Calendar with
available slots which is one of the features included in our website. Using AJAX in our code, we
are able to create new APIs which are used to retrieve the information from the database. Should
a service be updated, created, or deleted, the site will always be up to date as it will be syncing
from the database. This will not only make it easier for the shop owner to be able to manage the
site through the login page and not worry about having to make any technical changes on the
site.
Using JawsDB and adding an iframe to our site became a more viable solution as it
reflects when a calendar event has been reserved. Since using Google APIs was not as efficient
as we first believed it would be. We were able to instead use Google Calendar’s scheduling tool
to include calendars that would be even easier to use. They are more efficient to make and cancel
a reservation if the owner of the calendar decides to modify something. This also allows the
client to cancel an appointment from their Google calendar. We also use JawsDB in order to keep
Through AWS Cloud9, we are able to implement all of our backend and front end code to
efficiently use Heroku. This allows the developers to implement any new changes to the site
from anywhere around the globe as long as they have access to a computer and the internet.
Using Heroku and AWS makes the code and functionalities seamless as everything is uploaded
to GitHub in a private repository which in turn has Heroku automatically pull new versions of
the code. Overall, this project proved to be a difficult yet interesting project while utilizing
different tools.
13
ETHICAL CONSIDERATIONS
When it comes to creating a website or any type of application, one must stop to think
about the digital divide and whether or not we could be creating a service that’s tailored more
towards one group than the other. Garlic City Detailing will be a website that is available to
anyone that has a mobile device or computer. Websites can be accessed by any mobile device or
computer that has access to the internet therefore there should not be any type of gap between
groups as long as they have access to the internet. In today's day and age, having access to the
internet can be done through various different methods. Whether it’s having your own internet,
using a hotspot around town, or going to a public library which provides free access to the
internet.
Since Garlic City detailing will be accessed through the internet, everyone who has
access should be able to visit our website and request an appointment to have their car detailed.
Having a website for our service as opposed to having an application, which is only available for
either an iOS device or android device, will go a long way into maximizing the efficiency of our
service. This will ensure that everyone has the same access as everyone else since it won’t be
dependent on any type of software or operating system. The only group that won’t be able to take
advantage of our service is anyone who does not yet own a vehicle or is not old enough to drive a
vehicle yet. Overall, our app is not restricted to any specific group whether it’s age, class, or
LEGAL CONSIDERATIONS
One of the main concerns for any website is data privacy. When it comes to websites
obtaining data from the user, it is always important to keep their data safe. Garlic City detailing
will request minimal data from the user in order to be able to schedule an appointment that
14
contains sufficient information. The only information that will be required is an email and the
date they want to schedule an appointment which will be stored in the shop’s Google Calendar
which will ensure the data is not lost or leaked. One potential concern that could occur is that a
customer adds fake appointments and takes up slots with fake information. To mitigate this issue,
we would enforce the amount of times a user can schedule an appointment with the same email.
Equality is a term that is loosely defined, within our site and potential business model we
plan to be inclusive and supportive for any businesses that have been continuously on the fence
about shutting their operations down. We understand that during the pandemic everyone faced
hardships in one way or another. As the founders of the site, we plan to help the community by
PART III
PROJECT RESULTS
As far as the timeline and budget go, we were able to manage our time efficiently after a
few hiccups we had in the first few weeks. Week 1 and Week 2 felt the most unorganized as we
were gathering information and creating a mockup for our project. Once we had that covered, the
Week 1 Research/Setup
● Model and design
● Gather information on similar
products
● Set up our eclipse environment using
spring boot
Overall, we were able to follow the timeline pretty close to what was proposed. The
testing went according to plan and we were able to make a few changes to the site prior to the
Capstone festival. There was no budget allocated for this project which meant we had to use
some of the free resources available to us. This came with its own issues as there were a few
Our testing consisted of a few tasks that we asked the client to try and complete. From
there we were able to analyze what sections of our website would require more work. We asked
each client to try and do the following tasks and ask for help if they got stuck with a task.
● View Products:
○ From Inventory
○ Filtered by Interior
○ Filtered by Exterior
■ remove/update a service
Since we primarily asked family members to test, we were able to have one on one
testing with each individual to analyze the flow and where it seemed tougher for the client to
complete an action. After having three of the four clients test those functionalities, we asked
them to fill out a survey and provide any feedback they think can help the site be of greater value
(Appendix A). From the responses we received (Figure 4), we decided to try and implement at
least one of those changes to have our last client test and experience the new changes.
After receiving feedback, we were able to implement the first feedback which mentions
to allow the service description to be updated after creating a new service. In doing so, the client
would see the new information replicated everywhere on the site and have it be in sync. The
second feedback we received, we decided to add as a future improvement to the site. After
adding that functionality, we had our last client test and got feedback from them. That’s the
second feedback we received, to have the products pop up when clicked on to get a detailed
FINAL IMPLEMENTATION
This project, in its final state as submitted, can be split up into six components—home
page , service page, products page, about us page, contact us page, and login page.
The home page serves as the landing page that the client first sees when he visits our
website. This page should have the scheduling assistant to be able to minimize the time the client
needs to spend on our site if all they came for was to schedule an appointment. Having the three
package deals on the home page with a scheduling option for each does just that. The home page
contains three containers which serve as the package deals that are available through the owners
The service page serves as a more in depth look into what is provided with each package
deal. The information on this page is synced up with our database through the use of AJAX API
calls (Figure 6). Lines 60 through 67 are retrieving the information from the API call and in line
74 through 83, we are doing a for loop to be able to display the information for each result found.
With the use of API calls, we are able to keep the entire site in sync and the shop owner would
no longer need to have a site admin to make changes on the site for him. This minimizes the
amount of extra resources required to operate their business. This is done for each of the service
packages that are offered. For economy, premium, and supreme packages we are using similar
API calls to get each service’s description and be able to have the site synced up every time that
shop owner updates his services or removes a service from one of the packages.
Adding and removing a package is done quite simply from the login page. The admin is able to
update and remove a product by filling out the necessary information. After doing that, the home
20
page and the services page both get updated with the new service and or description that is
entered (Figure 7). The other pages are quite simple and do exactly what is displayed on Figure
5. The about us page just gives a quick overview of where the shop started and the location/hours
of operation. The contact us page contains a google form that the client can fill out if they are
looking for any extra information or give feedback that can help the site improve.
Similar functionalities are made when we want to update which admins exist. The shop
owner can add/remove admins to keep his site with only the people that should have access to
modify it. Overall, the site was created with the thought of having an easy to use site that any
DISCUSSION
Throughout the first implementation of our web page we changed several things to reach
our end goal. Make it look like a fully functional website that would provide a service to
wanted to make sure that our site was easy to investigate through, since that was one of our
major priorities. Some of the issues that happened more than once when testing using our
database. The live site we have www.garliccitydetails.com is deployed through Heroku and
using a custom domain on Google domains. Our site became unusable through the recording of
the video presentation we were trying to create. Even though the site is back up once again, there
is no easy way of telling when it could go down again. Even though displaying the custom
domain was not a requirement we were hoping to put it in use for our presentation. Some other
issues that came about during the implementation process was some of the web pages displaying
the products from the database. The time spent on that from one of our team members was more
Collaboration and communication with the team was simple. The team has been working
together since the beginning of the cohort. Using the basic tools that we already had previous
knowledge on like Google Docs, Github, Discord, and JawsDB all played a part in the
development of this site. Google Docs allowed us to collaborate on papers and proposals that
were part of the capstone. Github allowed us to manage and merge code. Having separate
22
branches gave the opportunity to work on this project at the sametime instead of waiting for
changes to be made by the team. It also gave us the flexibility to use our own IDE preference.
Discord was a huge player in this as well. Using screen sharing for troubleshooting or for some
quick advice on how to continue developing the site without having the need to use Github.
JawsDB also gave us the ability to have several of these databases to test and see changes that we
made since we were able to log into them using MySQL and logging into them locally.
This site has the potential to help the community who is looking to get their car detailed
but is having a tough time scheduling an appointment that works with their schedule. This
project serves as a good foundation for what can be done in the future for this site. Some of the
future improvements that can be done to the site includes: making it a one stop site (for anyone
to implement their services with the site), adding a payment system online, and creating a mobile
REFERENCES
APPENDIX A
APPENDIX B
TEAM MEMBERS
Division of responsibilities: The goal of this project is to divide up the work as equally
as possible to get as much exposure to each technology used. The responsibilities will be:
APPENDIX C
CITE USABILITY
1. Navigate to www.garliccitydetails.com
3.
4. Click on the “Schedule” Button on either the home or services page. Both calendars are
the same.
5. Fill out the “Book an Appointment” once complete hit “save” to complete the process
28
2. Once pressed
4. Once in the Administrator Page will open with the rest of the
privileges.
1. The products tab will present the products page and the category drop down menu
database.
29
2. “Show Admins” displays current administrators as well as the option to remove them
3.
4. “Add a new Service” will send description and service to the database in the selected
5. “Service Information” section will give the ID, Services, Package Deal, as Removing and