- What the Project Does
- Why it is Useful
- How to Get Started
- Documentation
- Support
- Contributing
- License
This project is a modern, full-stack Enterprise Resource Planning (ERP) system designed to streamline business operations for SMBs. It consolidates Inventory, Sales, Procurement, HR, and Finance into a single, unified platform secured by Keycloak authentication.
Unlike legacy ERPs, this solution is built on a modern stack (NestJS + React) with a focus on real-time data, responsive design, and auditable financial integrity.
- Unified Data: No more silos. Sales orders automatically update inventory levels and accounts receivable.
- Role-Based Security: Strict data isolation ensures Employees see only what they need, while Managers run the business and Admins configure it.
- Financial Integrity: Real-time Profit & Loss generation (
Revenue - Expenses - Payroll) gives instant business health visibility. - Self-Service HR: Employees can access their own payslips (PDF) and attendance records without bothering HR.
- Audit Ready: Every critical action is logged, and financial documents (Payslips, Invoices) are generated as immutable PDFs.
- Docker Engine & Docker Compose
- Node.js v18+ (for local development)
Option 1: Docker (Recommended)
git clone https://github.com/TsinatKibru/ERP.git
cd ERP
docker-compose up -dThat's it! The entire stack (Frontend + Backend + Database + Auth) will be running:
- Frontend:
http://localhost:5173 - Backend API:
http://localhost:3000 - Keycloak:
http://localhost:8080
Option 2: Local Development If you prefer running services individually:
-
Start Infrastructure
docker-compose up -d postgres redis keycloak
-
Start Backend
cd backend npm install npm run start:dev -
Start Frontend
cd frontend npm install npm run dev
| Service | URL | Username | Password |
|---|---|---|---|
| Keycloak | http://localhost:8080 |
admin |
admin |
| Postgres | localhost:5436 |
erp_user |
erp_password |
Note: You must create your initial Realm and Users in Keycloak after the first launch.
For detailed architectural guides, please see the docs/ directory:
- Authentication Flow - How Keycloak integrates with guards.
- Architecture Overview - System design and patterns.
- User Management - Roles and Permissions (RBAC).
- Inventory System - Stock tracking and ledgers.
- Finance Module - Invoices, expenses, and payments.
- HR & Payroll - Payslip generation logic.
If you encounter issues or have questions:
- Issues: Please check the Issues page to see if your problem has already been reported.
- Discussions: specific questions can be asked in the Discussions tab.
- Docs: Read the specific docs for the module you are having trouble with.
We welcome contributions! Please read our Contribution Guidelines for details on our code of conduct and the process for submitting pull requests.
- Tsinat Kibru - Initial work - Profile
This project is licensed under the MIT License - see the LICENSE file for details.