Love online shopping, but tired of the deliveries arriving when you're not home? Or perhaps how you're continuously checking when you're package arrives, only to delay your plans out of worry? Lovers of Online shopping and E-commerce. We present to you, pacs.
😮 What pacs does
pacs is a unique storage solution with plans to open multiple facilities that have lockers of all shapes and sizes. Kind of like a community mailbox. As a shopper, you won’t have to put in your address. With our app, you’ll be able to see all your purchases using pacs in one convenient place where you can find your respective locker number and key code.
🔨 How we built it
We’re always trying to learn something new! For this app, we implemented an MVC (Model, View, Controller) application structure. For the view, we’ve decided to use React that communicates with a controller using Node.js and Express.js, which interacts with a model which is ProtoBuf for this web application. With this model, everything has been modularized and we’ve found it very easy to create endpoints and implement functionality with great ease.
😰 Challenges we ran into
- A major issue was to properly implement Protobuf particularly with an M1 Mac
- Some minor design challenges
- Furthermore, as the app scaled in the prototype, developing the front end React view was becoming increasingly heavier.
😤 Accomplishments that we're proud of
For each team member this was somewhat different! Rithik and Saqif researched and learned regarding protobuf and its syntax, so it was a wonderful learning experience. As for Shaiza she learned how to properly use ES6 and successfully parse data from JSON files! Despite the insane time crunch, we thoroughly enjoyed this experience.
🧠 What we learned
- How to scale our idea for the prototype
- New tools and techniques
- How full-stack applications work
- An approach to modularize solutions
💙 What's next for pacs
Because there are so many moving parts in our application, there are several microservices that would require intercommunication. We would be working on the different microservices and ensuring that protobuf works efficiently between them. For example, we may have an internal server that needs to fetch and store the utilization status of the many locker facilities. A location of 30 lockers may have 24 occupied and that information has to be relayed to the user. There may be other server applications that are dedicated for businesses like API testing and communication which will also require microservices to generate unique IDs, access certain user information and more. We would be constructing these microservices and rigorously test the interactions. We would also migrate the services into the cloud. In addition, we can add important features such as Twilio, in order to incorporate SMS notifications, which we got to learn.