This is my porfolio comprehensive demo project combining a REST API, a CMS, and a client UI into a single repository. This project is designed to handle the full range of functionalities required for a modern online shop, including business logic, content management, and user interface.
shop-mono-repo/
│
├── shop-api/
│ ├── src/
│ ├── pom.xml
│ └── README.md
│
├── shop-cms/
│ ├── src/
│ ├── pom.xml
│ └── README.md
│
└── shop-client-ui/
├── src/
├── angular.json
└── README.md
Description: The shop-api
module is a Spring Boot REST API that handles most of the business logic for the shop. It includes features such as product management, user authentication, order processing, and more.
Key Features:
- RESTful endpoints for shop operations
- User authentication and authorization
- Order management
- Product catalog management
Setup:
- Navigate to the
shop-api
directory. - Build the project using Maven:
mvn clean install
- Run the application:
mvn spring-boot:run
Description: The shop-cms
module handles the content management system (CMS) for the shop, including articles and blogs. It also manages the ingestion of these documents into Elasticsearch for efficient searching and indexing.
Key Features:
- Content creation and management
- Integration with Elasticsearch for search capabilities
- RESTful endpoints for content operations
Setup:
- Navigate to the
shop-cms
directory. - Build the project using Maven:
mvn clean install
- Run the application:
mvn spring-boot:run
Description: The shop-client-ui
module is an Angular application that serves as the user interface for the shop. It interacts with the shop-api
and shop-cms
to provide a seamless user experience.
Key Features:
- Responsive UI for shop functionalities
- Integration with
shop-api
for business logic - Integration with
shop-cms
for content display
Setup:
- Navigate to the
shop-client-ui
directory. - Install the dependencies:
npm install
- Serve the application:
ng serve