This is a simple webshop made in Angular and Spring Boot with JPA. As course work for the University of Applied Sciences Leiden.
It has no order process, but contains product and product info management. As well as a working user authentication system and cart. The webshop is styled using the material design principles.
The database has been made as generic as possible, with almost everything being configurable. Categories, products, product properties and more.
- Angular
- Angular Material Design
- CSS3
- Spring Boot
- MySQL
- JPA / Hibernate
- JSON Web Token
- Database design
- Front-end design
- Back-end creation
- Front-end creation
Time spent: ~20 hours
To run this locally docker and NodeJS is required.
The back-end can be started using the following commands (starting from root):
cd backend
cp .env.example .env
docker compose up --build
The front-end can be started using the following commands (starting from root):
- Change the environment.ts and environment.prod.ts to point their apiUrl to:
http://localhost:3000
. cd frontend
npm install
npm run start
The front-end can then be found on localhost:4200
.
All screenshots except for the 'Profile' are made while logged in to an administrator account. Making the website show 'delete', 'add category' and 'add product' buttons.
The homepage that shows all the available categories.
A list view of products belonging to a category with its price, description and properties.
The cart, where amounts can be changed.
User profile, here a user can logout, delete their account or change details.