How ajith104/inventory-management-system works
This is an inventory-management web application: users manage products, suppliers, purchases, sales and users, and view dashboard statistics. The Angular frontend routes users to feature screens; feature components use client services, while the Spring backend exposes controllers, applies domain logic and persists entities through repositories. Purchases and sales adjust product stock; dashboard statistics aggregate repository counts. The sampled product client targets a local /products API. Other frontend-to-backend links are left unverified because their request details were not excerpted.
Main entry points: app.routes.ts Feature routes · controller REST controllers · DashboardService.java Dashboard aggregation · ProductRepository.java Product repository
Components 34
Angular frontend
- Root app
Frontend/src/app/app.ts - Feature routes
Frontend/src/app/app.routes.ts - Dashboard screen
Frontend/src/app/components/dashboard/dashboard.ts - Products screen
Frontend/src/app/components/products/products.ts - Purchases screen
Frontend/src/app/components/purchases/purchases.ts - Sales screen
Frontend/src/app/components/sales/sales.ts - Suppliers screen
Frontend/src/app/components/suppliers/suppliers.ts - Users screen
Frontend/src/app/components/users/users.ts
Frontend services
- Dashboard client
Frontend/src/app/services/dashboard.ts - Product client
Frontend/src/app/services/product.ts - Purchase client
Frontend/src/app/services/purchase.ts - Sale client
Frontend/src/app/services/sale.ts - Supplier client
Frontend/src/app/services/supplier.ts - User client
Frontend/src/app/services/user.ts
Spring application
- REST controllers
Backend/src/main/java/com/inventorymanagement/controller - Product operations
Backend/src/main/java/com/inventorymanagement/service/ProductService.java - Purchase operations
Backend/src/main/java/com/inventorymanagement/service/PurchaseService.java - Sale operations
Backend/src/main/java/com/inventorymanagement/service/SaleService.java - Supplier operations
Backend/src/main/java/com/inventorymanagement/service/SupplierService.java - User operations
Backend/src/main/java/com/inventorymanagement/service/UserService.java - Dashboard aggregation
Backend/src/main/java/com/inventorymanagement/service/DashboardService.java - Prediction logic
Backend/src/main/java/com/inventorymanagement/service/PredictionService.java
Inventory domain
- Product record
Backend/src/main/java/com/inventorymanagement/model/Product.java - Purchase record
Backend/src/main/java/com/inventorymanagement/model/Purchase.java - Sale record
Backend/src/main/java/com/inventorymanagement/model/Sale.java - Supplier record
Backend/src/main/java/com/inventorymanagement/model/Supplier.java - User record
Backend/src/main/java/com/inventorymanagement/model/User.java - Dashboard stats
Backend/src/main/java/com/inventorymanagement/dto/DashboardStats.java
Persistence
- Product repository
Backend/src/main/java/com/inventorymanagement/repository/ProductRepository.java - Purchase repository
Backend/src/main/java/com/inventorymanagement/repository/PurchaseRepository.java - Sale repository
Backend/src/main/java/com/inventorymanagement/repository/SaleRepository.java - Supplier repository
Backend/src/main/java/com/inventorymanagement/repository/SupplierRepository.java - User repository
Backend/src/main/java/com/inventorymanagement/repository/UserRepository.java
Other components
- Inventory user
Connections 41
- Inventory user → Root app: uses
- Root app → Feature routes: renders routes
Frontend/src/app/app.ts - Feature routes → Dashboard screen: routes to
Frontend/src/app/app.routes.ts - Feature routes → Products screen: routes to
Frontend/src/app/app.routes.ts - Feature routes → Purchases screen: routes to
Frontend/src/app/app.routes.ts - Feature routes → Sales screen: routes to
Frontend/src/app/app.routes.ts - Feature routes → Suppliers screen: routes to
Frontend/src/app/app.routes.ts - Feature routes → Users screen: routes to
Frontend/src/app/app.routes.ts - Products screen → Product client: calls
Frontend/src/app/components/products/products.ts - Purchases screen → Purchase client: calls
Frontend/src/app/components/purchases/purchases.ts - Purchases screen → Product client: loads products
Frontend/src/app/components/purchases/purchases.ts - Sales screen → Sale client: calls
Frontend/src/app/components/sales/sales.ts - Sales screen → Product client: loads products
Frontend/src/app/components/sales/sales.ts - Suppliers screen → Supplier client: calls
Frontend/src/app/components/suppliers/suppliers.ts - Dashboard screen → Dashboard client: loads stats
- Users screen → User client: uses
- Product client → REST controllers: requests products
Frontend/src/app/services/product.ts - REST controllers → Product operations: delegates
Backend/src/main/java/com/inventorymanagement/controller/ProductController.java - REST controllers → Purchase operations: delegates
Backend/src/main/java/com/inventorymanagement/controller/PurchaseController.java - REST controllers → Sale operations: delegates
Backend/src/main/java/com/inventorymanagement/controller/SaleController.java - REST controllers → Supplier operations: delegates
Backend/src/main/java/com/inventorymanagement/controller/SupplierController.java - REST controllers → User operations: delegates
Backend/src/main/java/com/inventorymanagement/controller/UserController.java - REST controllers → Dashboard aggregation: delegates
- Product operations → Product repository: reads and writes
Backend/src/main/java/com/inventorymanagement/service/ProductService.java - Purchase operations → Purchase repository: reads and writes
Backend/src/main/java/com/inventorymanagement/service/PurchaseService.java - Purchase operations → Product repository: adjusts stock
Backend/src/main/java/com/inventorymanagement/service/PurchaseService.java - Sale operations → Sale repository: reads and writes
Backend/src/main/java/com/inventorymanagement/service/SaleService.java - Sale operations → Product repository: adjusts stock
Backend/src/main/java/com/inventorymanagement/service/SaleService.java - Sale operations → Prediction logic: uses
Backend/src/main/java/com/inventorymanagement/service/SaleService.java - Supplier operations → Supplier repository: reads and writes
Backend/src/main/java/com/inventorymanagement/service/SupplierService.java - User operations → User repository: reads and writes
Backend/src/main/java/com/inventorymanagement/service/UserService.java - Dashboard aggregation → Product repository: counts
Backend/src/main/java/com/inventorymanagement/service/DashboardService.java - Dashboard aggregation → Purchase repository: counts
Backend/src/main/java/com/inventorymanagement/service/DashboardService.java - Dashboard aggregation → Sale repository: counts
Backend/src/main/java/com/inventorymanagement/service/DashboardService.java - Dashboard aggregation → Supplier repository: counts
Backend/src/main/java/com/inventorymanagement/service/DashboardService.java - Dashboard aggregation → Dashboard stats: constructs
Backend/src/main/java/com/inventorymanagement/service/DashboardService.java - Product repository → Product record: stores
Backend/src/main/java/com/inventorymanagement/repository/ProductRepository.java - Purchase repository → Purchase record: stores
Backend/src/main/java/com/inventorymanagement/repository/PurchaseRepository.java - Sale repository → Sale record: stores
Backend/src/main/java/com/inventorymanagement/repository/SaleRepository.java - Supplier repository → Supplier record: stores
Backend/src/main/java/com/inventorymanagement/repository/SupplierRepository.java - User repository → User record: stores
Backend/src/main/java/com/inventorymanagement/repository/UserRepository.java