An enterprise-grade open-source HR Management System built with .NET 10 Clean Architecture and Angular 18+. Buy2 HRMS features advanced shift scheduling engines, geofenced clock-in attendance, gamification points ledgers, and digital reward voucher stores.
Sprint 1 is actively underway using an atomic, step-by-step contribution model.
| Feature Module | Technical Components | Status |
|---|---|---|
| Identity & Access Management (IAM) | BaseEntity, Role Entity, Role DTOs, Permissions Json |
✅ Completed |
| Workforce & Job Roles | JobRole, Employee Entities & DTOs |
✅ Completed |
| Sites & Geofencing | Site Entity, Coordinate bounds, MAC whitelist DTOs |
✅ Completed |
| Attendance & Roster | AttendanceProfile, Shift, ShiftClaim Entities, Enums & DTOs |
✅ Completed |
| Points & Gamification | PointsRule, RewardItem Entities & DTOs |
✅ Completed |
| Application Layer Contracts | IRepository<T>, IUnitOfWork, IJwtTokenGenerator, IScheduleValidationEngine |
✅ Completed |
| Frontend Foundation | Angular 18+ App Setup, TypeScript Data Models, Common Components | ✅ Completed |
The codebase strictly adheres to Clean Architecture principles to ensure decoupled dependencies and maximum testability:
HR_system/
├── src/
│ ├── Buy2.Domain/ # Entities, Enums, Value Objects, Navigation Properties
│ ├── Buy2.Application/ # DTOs, Application Interfaces, CQRS Contracts
│ ├── Buy2.Infrastructure/ # EF Core DbContext, Fluent API Configurations, Repositories, JWT
│ ├── Buy2.Api/ # REST API Controllers, Middleware, DI Container Setup
│ └── Buy2.Frontend/ # Angular 18 SPA (Signals, Standalone Components, Material UI)
├── docs/ # ERD Diagrams, System Specs, Jira Import Maps
└── AVAILABLE_TASKS.md # Master Contributor Task Backlog
Detailed relationship documentation available at docs/ERD.md.
The project uses Atlassian Jira (Space: Buy2 HRMS, Key: SCRUM) integrated with GitHub Actions.
- Branch & PR Naming: Branch titles must include Jira Key (e.g.
SCRUM-101-create-employee-document-entity). - Auto-Transition to Done: Merging a PR into
mainautomatically transitions linked Jira cards to Done. - CI/CD Build Checks: Every PR triggers automated
.NETbuilds and lint checks via GitHub Actions.
We welcome team members and open-source contributors!
- Open
AVAILABLE_TASKS.mdto view available tasks. - Pick an unassigned task card from the Jira Sprint Board.
- Create a working git branch named after your Jira key (e.g.,
SCRUM-101-create-employee-document-entity). - Submit a Pull Request targeting
main. Once merged, Jira auto-updates your task to Done!
- .NET 10 SDK
- Node.js 20+ & Angular CLI (
npm i -g @angular/cli) - Git
# Clone repository
git clone https://github.com/Moha-sami/HR_system.git
cd HR_system
# Build .NET Solution
dotnet build HR_system.slnx
# Run API Backend
cd src/Buy2.Api
dotnet run
# Run Angular Frontend (in separate terminal)
cd src/Buy2.Frontend/Front
npm install
ng serve- GitHub Repository: https://github.com/Moha-sami/HR_system.git
- Figma UI/UX Design: BUY2 HRMS Figma Design
- Jira Board:
buy2-hrms.atlassian.net(Key:SCRUM)
