In modern commerce, data is the difference between profit and loss. This Inventory Management System is engineered to bridge that gap. Built with a robust Spring Boot micro-service architecture and a high-performance Next.js frontend, it transforms raw inventory data into actionable AI-powered insights.
- Automate tracking of thousands of SKUs across multiple categories.
- Optimize stock levels with intelligent restocking suggestions.
- Secure sensitive business data with enterprise-grade JWT authentication.
- Visualize sales performance through real-time dynamic dashboards.
| Layer | Technologies |
|---|---|
| Frontend | Next.js (App Router), TypeScript, Tailwind CSS, Framer Motion, Chart.js |
| Backend | Java 17+, Spring Boot 3, Spring Security, JPA/Hibernate |
| Database | PostgreSQL (Relational persistence) |
| Tools | Maven, Bun, Postman, Git |
📊 Enterprise Dashboard
Real-time operational overview with high-level metrics:
- Total Analytics: Instant visibility into products, sales, and net profit.
- Dynamic Visuals: Interactive charts using Chart.js for trend analysis.
- Critical Alerts: Automated low-stock detection to prevent inventory gaps.
- Smart Insights: AI-driven panel for inventory optimization.
📦 Advanced Product & Stock Control
Full-lifecycle management of inventory:
- Full CRUD Operations: Specialized management of product catalogs.
- Movement Tracking: Granular logs for every "Stock IN" and "Stock OUT" event.
- Real-time Deductions: Automatic inventory adjustments upon sale confirmation.
🔐 Security & Access Control (RBAC)
Implemented a multi-tier authorization system using Spring Security and JWT:
- Admin: Full system control, user management, and sensitive report access.
- Manager: Operational access limited to daily stock and sales management.
- Stateless Auth: Secure token-based authentication for scalable performance.
🤖 AI-Powered Intelligence
Leveraging predictive logic to assist in decision making:
- Restock Forecasting: Identifies high-velocity items nearing depletion.
- Performance Analysis: Flags underperforming products to optimize shelf space.
The application employs a stateless JWT (JSON Web Token) authentication strategy.
- Password Hashing: BCrypt for secure credential storage.
- CORS Configuration: Strictly defined origins for frontend communication.
- Granular Permissions: Method-level security annotations in the Spring backend.
graph TD
User((User)) -->|HTTPS| Frontend[Next.js App Router]
Frontend -->|REST API | Backend[Spring Boot 3]
Backend -->|JPA/Hibernate| DB[(PostgreSQL)]
Backend -->|Internal Logic| AI[Demand Forecasting Logic]
📁 inventory-system/
│
├── backend/ # Java Spring Boot REST API
├── frontend/ # Next.js 15+ Frontend
└── README.md # Documentation
Backend Structure (Spring Boot)
backend/
├── src/main/java/com/inventory/
│ ├── controller/ # RESTful API Endpoints
│ ├── service/ # Business Logic Layer
│ ├── repository/ # Data Access Layer (JPA)
│ ├── model/ # Database Entities
│ ├── dto/ # Type-safe Data Transfer
│ └── config/ # Security & Bean Configs
└── pom.xml # Dependency Management
Frontend Structure (Next.js)
frontend/
├── app/ # Next.js App Router (Pages & Layouts)
├── components/ # Atomic UI & Section Components
├── services/ # API Communication (Axios/Fetch)
├── hooks/ # Custom React Logic
└── types/ # TypeScript Interfaces
- Java: 17+
- Node.js: 18+ (Bun recommended)
- Database: PostgreSQL 14+
-
Clone & Navigate
git clone https://github.com/ImaneElla/inventory-system.git cd inventory-system -
Initialize Database Create a database named
inventory_dbin PostgreSQL and updatebackend/src/main/resources/application.propertieswith your credentials. -
Launch Backend
cd backend mvn spring-boot:run -
Launch Frontend
cd frontend bun install && bun dev
This project is licensed under the MIT License - see the LICENSE file for details.
Built with ❤️ for professional efficiency.
.png)