Skip to content

Repository files navigation

Lumen ERP

A modern, neumorphic (soft-UI) college management system built with Flask and SQLAlchemy. It provides role-based dashboards for Admin, HOD, Asst. HOD, Faculty, and Student, with modules for attendance, leaves, fees, certificates, events, and class allotment.


Features

Access control

  • Role-based access: Admin, HOD, Asst. HOD, Faculty, Student
  • Authentication: Flask-Login session management
  • Hierarchy: Faculty under department HOD/Asst. HOD; students under HOD

Modules

  • Dashboard – Role-specific home with quick links
  • Attendance – Faculty mark attendance by class/subject; students view records
  • Leaves – Request and approve leaves (Faculty → HOD → Admin; Student → Faculty → HOD)
  • Fees – Admin adds fees; students view and pay
  • Certificates – Admin uploads; students view and download
  • Notes / Digital library – Faculty upload materials; students download
  • Calendar – Admin adds events; all view
  • User management – Admin creates HOD/Asst. HOD (with department) and Faculty (department dropdown, auto-assigned to department HOD)
  • HOD panel – Register students, view department faculty/students, class allotment
  • Class allotment – HOD assigns faculty to class/subject

Tech stack

  • Backend: Python 3, Flask
  • Database: SQLite (default), SQLAlchemy ORM, Flask-Migrate
  • Frontend: HTML5, CSS3 (neumorphism), Jinja2
  • Auth: Flask-Login

Project structure

ERP_system/
├── app.py              # Application factory & entry point
├── config.py           # Configuration (secret, DB URL, upload folder)
├── extensions.py       # Flask extensions (db, login_manager, migrate)
├── models.py           # SQLAlchemy models
├── utils.py            # Decorators (e.g. role_required)
├── requirements.txt
├── Procfile            # Deployment configuration
├── routes/             # Blueprint-based application logic
├── scripts/            # Database initialization and management scripts
├── docs/               # System documentation and reports
├── templates/          # Jinja2 HTML
├── static/
├── instance/           # SQLite DB (created at run time)
└── README.md

Getting started

Prerequisites

  • Python 3.8+
  • pip

Setup

  1. Clone and enter the project

    git clone <your-repo-url>
    cd ERP_system
  2. Create and activate a virtual environment

    • Windows:
      py -m venv venv
      .\venv\Scripts\activate
    • macOS / Linux:
      python3 -m venv venv
      source venv/bin/activate
  3. Install dependencies

    pip install -r requirements.txt
  4. Optional: reset database and seed admin

    python scripts/init_db.py

    This recreates the DB and adds a default admin (admin / admin123). If you skip this, the app will create tables and the admin user on first run.

  5. Run the app

    python app.py

    Open http://127.0.0.1:5000 (or the port shown in the terminal).

Environment (optional)

  • SECRET_KEY – Flask secret (defaults to a dev key if unset)
  • DATABASE_URL – DB URL (default: sqlite:///college.db in instance/)
  • PORT – Server port (default: 5000)

Test accounts

After running init_db.py or first run:

Role Username Password Notes
Admin admin admin123 Full access, user management
Faculty Create via Admin → User Management (select department)
Student Create via HOD Panel (HOD’s department)

Create at least one HOD (or Asst. HOD) with a department so that department appears in the faculty-creation dropdown and faculty can be auto-assigned.


License and contributing

Use and adapt as needed for your project. Contributions (issues, docs, code) are welcome.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages