Consumers are often limited by store's geographical location. Further, the pandemic exacerbates the issue, making shopping increasingly hard. Besides, store management are often hard and could not meet customer's needs.
What it does
Powered by NCR's BSP API, we aim to automate the shopping and store management experience for both customers and store/restaurant owners. Further, we have integrated a powerful backend (running on both Azure and AWS servers) as well as mobile AR/VR experience, providing customers the ultimate remote shopping experience while easing the jobs of store logistics. Users can add new consumers, search for nearby stores, search for orders as well as going into the virtual shop to shop the actual item. Users' hand gesture information will be sent to the backend in real time, and the robots will do everything from item grabbing to delivery.
How we built it
We started by exploring NCR's BSP API as well as their CDM (consumer data management) platform. While encountering many bugs and issues, we are able to solve the challenges and implement most of the functionalities by making a large wrapper API that integrates a lot of features provided by NCR API. We hosted it on cloud (AWS) so mobile clients could access it remotely. We then focused on the frontend which is majorly done in Swift. Lastly, we started coding the hardware part -- we used an Arduino powered servo motor for mimicking the actual motion of shopping robots, demonstration a proof of concept. The communication between frontend and robots is handled by RabbitMQ, with low latency and high redundancy, capable of scaling to many customers and users.
Challenges we ran into
None of us are familiar with NCR's API before, and the fact that it has some learning curve made us struggle initially at coding the wrapper API hosted in cloud. Meanwhile, the mentors are extremely helpful and they are able to solve most of our issues regarding the API usage. Besides, we have never integrated RabbitMQ with swift before, and it took us very long time to make it work.
Accomplishments that we're proud of
We are able to implement most of the features before the deadline, and within such a short time frame.
What we learned
We should make a detailed plan at the beginning so we could plan things better.
What's next for TuringStoreService
We decided to also include a reinforcement learning assistant chatbot for making recommendations to the consumers and store owners, as well as making the robotics part fully functional.