StockManager is a full-stack warehouse, inventory, and supplier management system implemented with a React frontend and an ASP.NET Core backend.
- Full REST API backend built with ASP.NET Core 8
- React + Vite frontend with inventory, product, supplier, maintenance, and document workflows
- Entity Framework Core with SQL Server persistence
- Redis caching and RabbitMQ messaging support
- API versioning and Swagger documentation
- Health checks and telemetry-ready middleware
- In-memory test support for automated integration tests
REST API/— ASP.NET Core backend solution and related projectsStockManager/— main API applicationStockManager.Application/— application services, CQRS handlers, DTOs, validation, and mappingsStockManager.Core.Domain/— domain entities, enums, interfaces, and business logicStockManager.Infrastructure/— persistence, repositories, and infrastructure servicesStockManager.Tests/— integration and unit tests for the backendStockManager.Application.Tests/— application-layer unit tests
Frontend/— React frontend applicationMakefile— quick local run commands
- Backend: ASP.NET Core 8, Entity Framework Core, Serilog, OpenTelemetry, Swagger
- Frontend: React, Vite, Tailwind CSS, React Router, React Query, Axios
- Infrastructure: SQL Server, Redis, RabbitMQ
From the repository root, use the provided Makefile commands:
make backendThis command will:
- start required Docker containers for SQL Server, RabbitMQ, and Redis
- wait for the infrastructure to become available
- apply Entity Framework migrations
- launch the ASP.NET Core backend
make frontendThis starts the frontend development server in Frontend/ using Vite.
cd Frontend
npm install
npm run devcd "REST API/StockManager"
dotnet runThe backend expects configuration values via environment variables or REST API/.env.
Typical values include:
MSSQL_SA_PASSWORD=YourStrong!Passw0rd
JWT__KEY=YourSuperSecretKeyHere...
JWT__ISSUER=StockManager
JWT__AUDIENCE=StockManager
REDIS__HOST=localhost
RABBITMQ__HOST=localhost
RABBITMQ__USERNAME=guest
RABBITMQ__PASSWORD=guestRun backend tests from REST API/StockManager.Tests:
cd "REST API/StockManager.Tests"
dotnet testThe project includes both integration tests and application-level unit tests.
When the backend is running in development, Swagger is available at:
http://localhost:5000/swagger/index.html
- The React frontend uses mock and internal APIs for several demo screens and data workflows.


