When looking at current solutions like ClickList and others that allow you to buy groceries online and have them brought to your car, we noticed a hole in the market. A large amount of people want the convenience of ordering before they go, but don't want to pay extra or wait around for the employees to bring the product to their car.
What it does
This app allows people to order their products online before they head to the store, then they can go to the store and pick them up themselves. Before leaving the employee would only have to check and make sure that the consumer has only the items they ordered. This saves tons of time for the consumer, while also saving the employer money. This in turn allows the consumers to have a lower overall cost.
How we built it
We built this app by starting with the backend service. We created an API that runs on an Express server and communicates with data stored in Postgresql. We containerized this application so that it can be run easily on any server. The server communicates through a REST api.
The website, or the admin page, is built in React and can be accessed through https://storesavr.com (username: dominic password: pa$$word), you will also have to accept the self-signed certificate. This page is made to edit the stores and their respective layouts. The layout editor has 3 different types of items you can click on and add to the editor. A long shelf, short shelf, and an end-cap. These can be dragged out and rotated after they are added. The entire editor can be panned as well.
The app that we built to demonstrate what the consumer would experience is built in react native. This gave us the flexibility to compile to both iOS and Android, along with having similar code to the admin web portal.
Challenges we ran into
One of the biggest challenges we ran into was running our continuous integration pipeline. We had it set such that if any one member creates a push to the repository, the server would automatically build this application. One of the largest challenges we had was that during the continuous building, we had an issue with one of the libraries we were using. It was our password hashing library and we could not avoid it. It turned out that we needed to install the C++ make files on our docker container to allow it to compile. This took way longer than we expected, but we learned a lot in the process.
Accomplishments that we're proud of
The biggest accomplishment of our application is the draggable editor that we used for the store layout. This took a while for us to perfect, and we are happy with how it came out. It allows users to move their store components into any location and rotation they want, along with choosing which items are in each component.
What we learned
We learned how to work together on one single GitHub repository. This was rocky at the start, but we quickly learned to split the work by files or concerns so that none of our changes conflicted with each other's.
What's next for Store Savr
A few of the features we want to implement is to add more layout options, along with a fully feature-complete ordering experience. Finding a team member who has a design background would greatly help the app's overall look and feel, as developers can only go so far. We are excited to see the potential this app could bring to the market.