- This is a single page application with client-side rendering.
- It includes backend and frontend as two separate projects.
- The frontend client makes API calls to the backend server when it is running.
- REST API
- Docker
- Docker Compose
- JWT authentication
- Cookie based visitors' shopping cart
- Persistent customers' shopping cart
- Cart & order management
- Checkout
- Catalogue
- Order management
- Pagination
Backend -Java 11 -Spring Boot 2.2 -Spring Security -JWT Authentication -Spring Data JPA -Hibernate -PostgreSQL -Maven
Frontend -Angular 7 -Angular CLI -Bootstrap
Start the backend server before the frontend client.
Backend
- Install PostgreSQL (alternatively spin up a postgres docker container)
- Configure datasource in
application.yml
. cd backend
.- Run
mvn install
. - Run
mvn spring-boot:run
. - Spring Boot will import mock data into database by executing
import.sql
automatically. - The backend server is running on localhost:8080.
Frontend
- Install Node.js and npm
cd frontend
.- Run
npm install
. - Run
ng serve
- The frontend client is running on localhost:4200.
Note: The backend API url is configured in src/environments/environment.ts
of the frontend project. It is localhost:8080/api
by default.
TODO