Simple app for storing users shopping lists, allowing to register and login with JWT authentication. Application gives access to store users' lists and items "to be bought" from those lists. User can also modify existing lists and contained items by updating their data as well as deleting them completely from database.
For backend you'll need Java 19 and Maven installed in your system
- Go to
Backendfolder and run `docker compose up - In terminal access container terminal using
docker exec -it postgresql bash
- create database:
psql -U admin
CREATE DATABASE tobebought;
- In
./Backend/tobeboughtinstall maven dependencies usingmvn install - In the same folder run program using mvn
clean spring-boot:run
Frontend requires Node and npm.
- Go to
./Frontend/tobebought - Run
npm install - Run
npm start - Site should be available at
localhost:3000
At first shows up login screen, with option allowing user to move to registration form.

After user is logged in, and jwt token is received from backend, application allows
to view all his shopping lists. Application fetches list of items basing on users id contained
in token.

By clicking on + button user is able to see all elements inside shopping list.
x button sends delete request to backend for list, as well as for item. ↺
opens edit form, when clicked again, changed data is being sent do backend to update record in database.
User can also check items, that have been bought from list by clicking the checkbox. Information if item is checked is also stored in database.
To end session, user can hover the hamburger menu from top right corner which shows dropdown with logout button, which deletes userName from session storage, and clears cookies, where the jwt token is stored.

