How mohamedsaadaoui/smart-warehouse works
Smart Warehouse is a full-stack inventory and logistics platform. Users enter through the React app, authenticate, and use role-protected pages to manage products, categories, suppliers, and stock movements; the backend exposes corresponding APIs and supports dashboard, reporting, notifications, audit, and administration capabilities. The README documents these product areas and real-time notification support. Source evidence is selective, so links between unsampled frontend feature pages and backend modules are left unverified rather than inferred as calls.
Main entry points: api API clients · AppRoutes.tsx App routes · ReportController.java Reports and exports · NotificationController.java Notifications
Components 19
Web application
- App routes
frontend/src/routes/AppRoutes.tsx - Auth context
frontend/src/context/AuthContext.tsx - API clients
frontend/src/api - Inventory pages
frontend/src/pages - Reports page
frontend/src/pages/Reports.tsx
Identity and access
- Authentication API
src/main/java/com/saadaoui/smartwarehouse/auth/controller/AuthController.java - JWT security
src/main/java/com/saadaoui/smartwarehouse/auth/security/JwtService.java
Inventory operations
- Products and categories
src/main/java/com/saadaoui/smartwarehouse/product/service/impl/ProductServiceImpl.java - Supplier management
src/main/java/com/saadaoui/smartwarehouse/supplier/service/impl/SupplierServiceImpl.java - Stock movements
src/main/java/com/saadaoui/smartwarehouse/movement/controller/MovementController.java - Warehouse records
src/main/java/com/saadaoui/smartwarehouse/entity/Product.java
Insights and records
- Dashboard analytics
src/main/java/com/saadaoui/smartwarehouse/dashboard/service/impl/DashboardServiceImpl.java - Reports and exports
src/main/java/com/saadaoui/smartwarehouse/report/controller/ReportController.java - Audit logging
src/main/java/com/saadaoui/smartwarehouse/audit/service/impl/AuditLogServiceImpl.java
Administration and messaging
- User management
src/main/java/com/saadaoui/smartwarehouse/user/controller/UserController.java - Application settings
src/main/java/com/saadaoui/smartwarehouse/settings/service/impl/SettingsServiceImpl.java - Notifications
src/main/java/com/saadaoui/smartwarehouse/notification/controller/NotificationController.java - WebSocket push
src/main/java/com/saadaoui/smartwarehouse/websocket/WebSocketConfig.java
Other components
- Warehouse user
Connections 23
- Warehouse user → App routes: uses
frontend/src/routes/AppRoutes.tsx - App routes → Auth context: guards access
- App routes → Inventory pages: routes to
frontend/src/routes/AppRoutes.tsx - App routes → Reports page: routes to
frontend/src/routes/AppRoutes.tsx - Auth context → API clients: authenticates through
frontend/src/context/AuthContext.tsx - API clients → Authentication API: calls API
- API clients → Products and categories: calls API
- API clients → Supplier management: calls API
- API clients → Stock movements: calls API
- API clients → Dashboard analytics: calls API
- API clients → Reports and exports: calls API
- API clients → Notifications: calls API
- Authentication API → JWT security: issues tokens
- Stock movements → Warehouse records: updates stock
- Products and categories → Warehouse records: manages records
- Reports and exports → Reports page: serves reports
- Notifications → WebSocket push: pushes updates
- Warehouse user → Dashboard analytics: views summaries
README.md - Warehouse user → Reports and exports: requests analytics
README.md - Warehouse user → Audit logging: reviews activity
README.md - Warehouse user → User management: administers users
README.md - Warehouse user → Application settings: configures platform
README.md - Warehouse user → Notifications: sends messages
README.md