Snowbee
A retail search aggregator
(This project is following the PROS challenge)
What is Snowbee, and how does it work?
Snowbee is a retail search aggregator aiming to make your online shopping experience easier.
Snowbee allows you to search for a product, and filter by a variety of different filters (price, color, vendor, etc), and easily compare different options side-by-side.
Snowbee comes in many different forms across the web - as a public API, as a user-facing website, and as an interactable discord bot.
Technologies in use
Snowbee's backend is written in Scala using Scalatra as a lightweight REST API provider.
Snowbee's frontend is written in Javascript using the venerable React framework.
Snowbee's discord bot is written in Python using the disord.py wrapper library.
All of these experiences are designed to be interoperable, andn to give a consistent Snowbee experience no matter where you go.
All of Snowbee's different services (backend, frontend, discord bot) run perfectly inside of docker containers.
The API is available to try at http://api.snowbee.byakuren.pw (API Specification), and the user-facing site can be accessed at http://snowbee.byakuren.pw.
Today's Limitations
Unfortunately, most popular retailers (e.g Amazon) have a difficult process for gaining access to their APIs. Because of the short form of CodeRed, we simply did not have enough time to gain access to any API keys to use.
A small amount of real product data for each vendor has been collected, and serves as a stand-in to demo functionality and design.
Once API keys are acquired, each vendor's API would need to be implemented before they can have full support.
Tomorrow's Flexibility
Snowbee's flexible and stateless design makes scaling a breeze - using a service like Amazon' Elastic Container Service, it is trivial to spin up more instances as demand increases, and kill instances as load dies down to save operating costs.
The various frontends of Snowbee are designed such that more vendors can be added with no extra development work for the frontend - simply adding it on the backend is all that's necessary, and it "Just works"
Links
Built With
- discord.py
- docker
- javascript
- python
- react
- scala
- scalatra
Log in or sign up for Devpost to join the conversation.