A comprehensive Enterprise Resource Planning (ERP) system built with modern technologies, featuring a complete admin portal for managing inventory, purchase orders, sales, finance, and more.
- Authentication & User Management - JWT-based authentication with role-based access control
- Dashboard - Real-time KPIs, charts, and notifications
- Inventory Management - Product catalog, stock tracking, and low-stock alerts
- Purchase Management - Purchase orders, vendor management, and delivery tracking
- Sales & Order Management - Sales orders, customer management, and status tracking
- Financial Management - Invoicing, payments, and expense tracking
- Reporting & Analytics - Comprehensive reports with Excel/PDF export
- Security - JWT authentication, RBAC, audit logs, and data encryption
- Admin - Full system access
- Finance - Financial management and reporting
- Inventory Manager - Product and inventory management
- Sales - Sales order management
- Vendor/Supplier - Purchase order access
- Distributor/Dealer/Retailer - Sales order access
- Customer - Basic order access
- .NET Core 8.0 - Web API framework
- Entity Framework Core - ORM with SQL Server
- Dapper - High-performance data access
- JWT Authentication - Secure token-based authentication
- BCrypt - Password hashing
- Serilog - Structured logging
- Swagger - API documentation
- AutoMapper - Object mapping
- FluentValidation - Input validation
- React 18 - Modern UI framework
- TypeScript - Type-safe JavaScript
- Tailwind CSS - Utility-first CSS framework
- shadcn/ui - Modern UI components
- React Router - Client-side routing
- React Query - Data fetching and caching
- Axios - HTTP client
- Lucide React - Beautiful icons
- SQL Server - Primary database
- Entity Framework Migrations - Database versioning
MasterAdminERP/
βββ backend/
β βββ MasterAdminERP.API/
β βββ Controllers/ # API controllers
β βββ Models/ # Entity models
β βββ DTOs/ # Data transfer objects
β βββ Services/ # Business logic services
β βββ Data/ # Database context
β βββ Configuration/ # App configuration
β βββ Program.cs # Application entry point
βββ frontend/
β βββ src/
β βββ components/ # Reusable UI components
β βββ pages/ # Page components
β βββ services/ # API services
β βββ contexts/ # React contexts
β βββ lib/ # Utility functions
β βββ App.tsx # Main app component
βββ database/
β βββ schema.sql # Database schema
βββ README.md # This file
- .NET 8.0 SDK
- Node.js 18+ and npm
- SQL Server (LocalDB or full instance)
- Visual Studio 2022 or VS Code
-
Clone the repository
git clone <repository-url> cd MasterAdminERP
-
Set up the database
# Run the SQL script to create the database sqlcmd -S (localdb)\\mssqllocaldb -i database/schema.sql
-
Configure the connection string
// appsettings.json { "ConnectionStrings": { "DefaultConnection": "Server=(localdb)\\mssqllocaldb;Database=MasterAdminERP;Trusted_Connection=true;MultipleActiveResultSets=true" } }
-
Run the backend
cd backend/MasterAdminERP.API dotnet restore dotnet runThe API will be available at
https://localhost:7001
-
Install dependencies
cd frontend npm install -
Configure environment
cp env.example .env # Edit .env and set REACT_APP_API_URL=https://localhost:7001/api -
Start the development server
npm start
The frontend will be available at
http://localhost:3000
- Username:
admin - Password:
Admin@123
Once the backend is running, visit https://localhost:7001/swagger to explore the API documentation.
The system includes the following main entities:
- Users & Roles - Authentication and authorization
- Products & Categories - Inventory management
- Vendors - Supplier information
- Purchase Orders - Procurement management
- Sales Orders - Sales management
- Invoices & Payments - Financial tracking
- Expenses - Cost management
- Notifications - System alerts
- Audit Logs - Activity tracking
{
"JwtSettings": {
"SecretKey": "YourSuperSecretKeyThatIsAtLeast32CharactersLong!",
"Issuer": "MasterAdminERP",
"Audience": "MasterAdminERP-Users",
"ExpiryHours": 8
}
}The API is configured to allow requests from http://localhost:3000 for development.
- Build the application:
dotnet publish -c Release - Deploy to your hosting provider (Azure, AWS, etc.)
- Configure production connection strings
- Set up SSL certificates
- Build the application:
npm run build - Deploy the
buildfolder to your hosting provider - Configure environment variables for production
cd backend/MasterAdminERP.API
dotnet testcd frontend
npm test- Database Indexing - Optimized queries with proper indexes
- Caching - React Query for frontend caching
- Pagination - Efficient data loading
- Lazy Loading - On-demand component loading
- Connection Pooling - Optimized database connections
- JWT Authentication - Secure token-based authentication
- Role-Based Access Control - Granular permissions
- Password Hashing - BCrypt for secure password storage
- Input Validation - Comprehensive data validation
- SQL Injection Prevention - Parameterized queries
- CORS Configuration - Controlled cross-origin requests
- Audit Logging - Complete activity tracking
- Fork the repository
- Create a feature branch:
git checkout -b feature/new-feature - Commit your changes:
git commit -am 'Add new feature' - Push to the branch:
git push origin feature/new-feature - Submit a pull request
This project is licensed under the MIT License - see the LICENSE file for details.
For support and questions:
- Create an issue in the repository
- Check the API documentation at
/swagger - Review the code comments and documentation
- Advanced reporting with charts
- Email notifications
- Mobile app
- Multi-tenant support
- Advanced inventory tracking
- Integration with external systems
- Real-time notifications
- Advanced analytics dashboard
Built with β€οΈ using modern web technologies