We want to make something impactful during this pandemic. That can reduce the likelihood of people going out.
What it does
It is meant to place grocery orders for users and have them delivered to their home.
How we built it
We used Quarkus and its functionalities as specified in the requirement in combination of aws lambda, aws alexa, and elasticsearch to achieve the current minimal required functionalities. Much more works to be done.
Challenges we ran into
There were many challenges, 2 biggest ones are: 1) lack of resource about java based alexa skills 2) lack of useful samples of Quarkus projects. (We came from spring boot). Especially alexa focused.
Accomplishments that we're proud of
1) We believe we've built the first Quarkus based open source Alexa skill that could be found on google. (Yes, we googled a lot and couldn't find anything that was helpful to us.) 2) Although the project isn't complete, we accomplished the basic flow of Alexa skill which only used Quarkus related functionalities. 3) We fought through countless blockers such as connecting to Elasticsearch using Quarkus and other unforeseeable technical difficulties which took us tremendous amount of time.
What we learned
1) How to set up Quarkus Project 2) Difference of object creation in Quarkus projects such as lambda functions and actual server running 3) How to create handlers using Quarkus 4) Proper CRUD operation in Quarkus environment 5) Web scrape under Quarkus environment 6) Multiple other Quarkus functionalities: i) unit test ii) fault tolerance iii) logging iv) compile reactive project v) scheduled jobs in Quarkus 7) Use Quarkus generated scripts to create/update lambda functions 8) Utilize maven for dependency and profile management 9)
What's next for Project Hermes
Potentially, we would really like users to be able to actually land real orders using our app. There are a few more things needs to be done before that happens:
1) We need to run a server to constantly update currently available stocks 2) Either user account information so we can place order for them, or we use our own account to do that and charge a fee 3) Workflow can be improved more for better user experience 4) Better way to represent 40+ result from the search 5) Add a real cart functionality so people can actually put things in their carts