Skip to content

Repository files navigation

ERP Application

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.

🚀 Features

  • 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.

🛠 Tech Stack

Frontend

Backend

📋 Prerequisites

⚙️ Getting Started

1. Clone the Repository

git clone <repository-url>
cd erp_application

2. Backend Setup

  1. Navigate to the backend directory:
    cd backend
  2. Install dependencies:
    npm install
  3. Create a .env file in the backend/ folder and add your configuration:
    MONGODB_URI=your_mongodb_connection_string
    PORT=3000
  4. Start the backend server:
    npm run dev

3. Frontend Setup

  1. Navigate back to the root directory:
    cd ..
  2. Install Flutter dependencies:
    flutter pub get
  3. Create a .env file in the root directory:
    API_BASE_URL=http://localhost:3000
    Note: If testing on a physical device, use your computer's local IP address instead of localhost.
  4. Run the application:
    flutter run

🌐 Environment Variables

Backend (backend/.env)

Variable Description Default
MONGODB_URI MongoDB Connection String Required
PORT Server Port 3000

Frontend (.env)

Variable Description Default
API_BASE_URL Base URL of the Backend API Required

📦 Deployment

Refer to DEPLOYMENT.md for detailed instructions on deploying the backend to AWS (App Runner or Lambda) and connecting the Flutter application.

📂 Project Structure

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

🤝 Contributing

  1. Fork the project.
  2. Create your feature branch (git checkout -b feature/AmazingFeature).
  3. Commit your changes (git commit -m 'Add some AmazingFeature').
  4. Push to the branch (git push origin feature/AmazingFeature).
  5. Open a Pull Request.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages