Felipe Henrique Gross Windmoller
Posted on October 12, 2021
The Shopping List project is open source and you can find it on GitHub.
There, you are going to find instructions on how to build it and how to run it locally.
The frontend is written in Angular and the backend in Quarkus. The database is PostgreSQL. They are deployed as containers on Heroku and the HTTP communication is protected by JWT tokens.
I describe the technique used to deploy them as containers on Heroku in this article on medium.
You can access this demo version running on Heroku and try it right now. But as this is only a demo, please don't use a real password there!
- The application get dormant after some time without use, so the first access can take some extra time.
Business description
Shopping List is a web application that was created especially for mobile devices.
You'll be able to organize the products you want to buy and do your shopping more quickly.
Once you create one account, you can create shopping lists and add products to them.
When you're buying products at the market, you can check the products updating your list and switch from one shopping list to other very easily.
You can, for instance, create one shopping list for fruits, other for cleaning products and another for grocery. So, in the top menu, you will be able to switch between these shopping lists while you're checking the products you already bought.
Architecture
Demo version running on Heroku
Angular
I used Angular Material and Angular Flex-Layout in this project.
Quarkus
On the Quarkus project I used Hibernate Panache to control the database and SmallRye JWT to protect the endpoints.
Perhaps you can find it interesting the Swagger-UI, created automatically by the SmallRye OpenAPI, that has the possibility of doing one Authentication to test the endpoints protected by JWT.
Final words
Thanks for reading this article and feel free to talk with me in case you got interested in this project!
Posted on October 12, 2021
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.