A comprehensive Enterprise Resource Planning (ERP) application built with Flutter and Node.js. This system includes modules for managing employees, leads, payroll, departments, and activity logs.
- Employee Management: Track employee details and performance.
- User Authentication & Role Management: Secure login and access control for different roles (Admin/User).
- Lead Management: Manage potential business leads and conversions.
- Payroll System: Handle employee salaries and payroll processing.
- Department Management: Organize organization structure.
- Activity Logs: Audit trail for system actions.
- Responsive Dashboard: Visual representation of data using charts.
- Cross-Platform: Works on Android, iOS, Web, and Desktop.
- Framework: Flutter
- State Management: Provider
- Dependency Injection: Get It
- Networking: Dio
- Charts: FL Chart
- Runtime: Node.js
- Framework: Express.js
- Database: MongoDB with Mongoose
- Deployment: Serverless Framework (AWS Lambda) or AWS App Runner
- Flutter SDK (latest stable version)
- Node.js (v18 or higher)
- npm
- MongoDB (Local or Atlas)
- Git
git clone <repository-url>
cd erp_application- Navigate to the backend directory:
cd backend - Install dependencies:
npm install
- Create a
.envfile in thebackend/folder and add your configuration:MONGODB_URI=your_mongodb_connection_string PORT=3000
- Start the backend server:
npm run dev
- Navigate back to the root directory:
cd .. - Install Flutter dependencies:
flutter pub get
- Create a
.envfile in the root directory:Note: If testing on a physical device, use your computer's local IP address instead of localhost.API_BASE_URL=http://localhost:3000
- Run the application:
flutter run
| Variable | Description | Default |
|---|---|---|
MONGODB_URI |
MongoDB Connection String | Required |
PORT |
Server Port | 3000 |
| Variable | Description | Default |
|---|---|---|
API_BASE_URL |
Base URL of the Backend API | Required |
Refer to DEPLOYMENT.md for detailed instructions on deploying the backend to AWS (App Runner or Lambda) and connecting the Flutter application.
erp_application/
├── assets/ # Images and icons
├── backend/ # Node.js Express server
│ ├── models/ # Mongoose models
│ ├── routes/ # API routes
│ └── server.js # Main entry point
├── lib/ # Flutter application code
│ ├── core/ # Common utilities, services, and errors
│ ├── data/ # Models and repository implementations
│ ├── presentation/ # UI pages, widgets, and providers
│ └── main.dart # App entry point
└── pubspec.yaml # Flutter dependencies
- Fork the project.
- Create your feature branch (
git checkout -b feature/AmazingFeature). - Commit your changes (
git commit -m 'Add some AmazingFeature'). - Push to the branch (
git push origin feature/AmazingFeature). - Open a Pull Request.