This E-Commerce Product Management System is a full-stack application with a Spring Boot backend and Angular frontend. It provides a robust platform for managing products and categories in an e-commerce environment. The system features a binary tree implementation for efficient category management, RESTful API endpoints for CRUD operations, and integration with PostgreSQL for data persistence.
Key Features:
- Product and Category management
- Binary tree implementation for category organization
- RESTful API endpoints
- PostgreSQL database integration
- Angular frontend for intuitive user interaction
- Spring Boot Actuator for application monitoring and management
- Logging interceptor for request/response logging
-
Prerequisites:
- Java 21
- Maven
- PostgreSQL
-
Clone the repository:
- git clone https://github.com/ojAsare910/gtp-product_management-fullstack cd gtp-product_management-fullstack
-
Configure the database:
- Create a PostgreSQL database named
postgres
with schemapmgmt_db
- Update
src/main/resources/application-dev.yml
with your database credentials
- Create a PostgreSQL database named
-
Build and run the backend:
- mvn spring-boot:run
The backend will start on http://localhost:8080
.
-
Prerequisites:
- Node.js and npm
-
Navigate to the frontend directory:
- cd productmgmt-frontend
-
Install dependencies:
- npm install
-
Run the Angular development server:
- ng serve
The frontend will be available at http://localhost:4200
.
-
Access the application: Open a web browser and go to
http://localhost:4200
-
Main Features:
- Products:
- View product list
- Add new products
- Edit existing products
- Delete products
- Categories:
- View category list
- Add new categories
- Edit existing categories
- Delete categories
-
Products:
- GET
/api/products
: List all products - POST
/api/products
: Create a new product - GET
/api/products/{id}
: Get a specific product - PUT
/api/products/{id}
: Update a product - DELETE
/api/products/{id}
: Delete a product
- GET
-
Categories:
- GET
/api/categories
: List all categories - POST
/api/categories
: Create a new category - GET
/api/categories/{id}
: Get a specific category - PUT
/api/categories/{id}
: Update a category - DELETE
/api/categories/{id}
: Delete a category
- GET
Spring Boot Actuator provides production-ready features to help you monitor and manage your application. To access Actuator endpoints:
-
Health check:
- GET /actuator/health
-
Application info:
- GET /actuator/info
- link
https://www.loom.com/share/6725ab65d0224aa1a6a1e78d4bc32224