An Inventory Management System built using Angular 19 and NgRx to manage products efficiently. This project integrates with a Spring Boot backend and provides a fully functional CRUD (Create, Read, Update, Delete) interface for managing inventory.
- 📋 View Products: List all products in the inventory.
- ➕ Add Products: Easily add new items to the inventory.
- ✏️ Update Products: Modify product details such as name, price, stock, and description.
- ❌ Delete Products: Remove unwanted products from the inventory.
- 🛠️ State Management with NgRx: Implements actions, reducers, selectors, and effects for seamless state handling.
- 🌐 Backend Integration: Communicates with a Spring Boot API for real-time data operations.
- Angular 19
- NgRx for state management
- Bootstrap for styling
- Spring Boot
- REST API
src/
├── app/
│ ├── components/
│ │ ├── product/
│ │ │ ├── product.component.ts
│ │ │ ├── product.component.html
│ │ │ ├── product.component.css
│ ├── models/
│ │ ├── product.model.ts
│ ├── services/
│ │ ├── product.service.ts
│ ├── store/
│ │ ├── product.actions.ts
│ │ ├── product.reducer.ts
│ │ ├── product.selectors.ts
│ │ ├── product.effects.ts
│ ├── app.module.ts
│ ├── app.component.ts
│ ├── app.component.html
Follow these steps to set up the project locally:
- Clone the repository:
git clone https://github.com/Mauro-Pereira/inventory-front-end.git
cd inventory-front-end
- Install dependencies:
npm install
- Start the Angular application:
ng serve
- Navigate to http://localhost:4200
-
Set up Spring Boot project making clone here: https://github.com/Mauro-Pereira/inventory-back-end
-
Run the application:
docker compose up
- Backend will be available at http://localhost:8080.