This ERP System is built with .NET using a clean 3‑Tier architecture and is divided into two main projects:
- ERP‑API → Business logic & data access (REST API)
- ERP‑MVC → Frontend (UI) that consumes the API
The design ensures scalability, maintainability, and separation of concerns.
graph TD
UI[ASP.NET MVC Frontend] -->|HTTP / JSON| API[ERP API]
API --> APP[Application Layer]
APP --> DAL[Data Access Layer]
DAL --> DB[(SQL Server)]
Project-main
│
├── ERP-API
│ ├── ERP-API.API # Presentation Layer (Controllers)
│ ├── ERP-API.Application # Business Logic
│ └── ERP-API.DataAccess # Database & Repositories
│
├── ERP-MVC # Frontend (MVC)
│
├── DEPI-Project.sln
├── ProjectDoc.pdf
└── ERP-System.pptx
📍 ERP-API.API
Responsibilities:
- Expose RESTful endpoints
- Handle HTTP requests & responses
- Authentication & Authorization
Key Components:
- Controllers
- Program.cs
- API Extensions
📍 ERP-API.Application
Responsibilities:
- Business rules & workflows
- DTOs for clean data transfer
- Service interfaces & implementations
Key Components:
- DTOs
- Services
- Interfaces
📍 ERP-API.DataAccess
Responsibilities:
- Database communication
- Entity Framework Core
- Repository pattern
Key Components:
- DbContext
- Entities & Enums
- Migrations
- Repositories
- Identity & Security
Responsibilities:
- User Interface (UI)
- Consumes ERP‑API
- Handles user interaction
Structure:
- Controllers
- Views (Razor Pages)
- Services (API communication)
- Models (ViewModels & DTOs)
- wwwroot (CSS / JS / Assets)
✅ Modular & Scalable Architecture
✅ Clean Separation of Concerns
✅ RESTful API Integration
✅ Entity Framework Core + Migrations
✅ Identity & Role Management
✅ Secure Configuration (appsettings)
✅ Ready for Enterprise‑Level Expansion
sequenceDiagram
User->>MVC: Request Page
MVC->>API: Call REST Endpoint
API->>Application: Business Logic
Application->>DAL: Fetch / Save Data
DAL-->>Application: Result
Application-->>API: DTO Response
API-->>MVC: JSON Data
MVC-->>User: Render View
1️⃣ Open DEPI-Project.sln
2️⃣ Set Multiple Startup Projects:
- ERP-API.API
- ERP-MVC
3️⃣ Update connection string in:
appsettings.json
4️⃣ Apply migrations:
dotnet ef database update5️⃣ Run the solution 🎉
- 📊 Advanced Financial Reports
- 📦 Inventory Forecasting
- 👥 Role‑Based Dashboards
- 📱 Mobile App Integration
- ☁️ Cloud Deployment (Azure)
Eng. Joe .NET | ERP | Clean Architecture
⭐ If you like this project, give it a star!


