DEV Community

Cover image for Shopping List
Felipe Henrique Gross Windmoller
Felipe Henrique Gross Windmoller

Posted on

Shopping List

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.

Shopping List Presentation

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

Architecture

Demo version running on Heroku

Application

API swagger

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!

Top comments (0)