Skip to content

aaravshah1311/Institute-ERP

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

8 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🏫 Institute ERP

Role-based institute management platform for administration, student/faculty workflows, attendance tracking, and profile management.

Node.js Express MySQL Status

Made By Aarav Shah


πŸš€ Overview

Institute ERP is a Node.js + Express web application designed for educational institutions to manage user access and core academic operations through role-based dashboards.

The system currently supports:

  • secure login/session handling,
  • role-aware dashboards (Admin, Student, Faculty, Staff, Club),
  • profile management,
  • attendance flows (view, take, edit, and student listing),
  • MySQL-backed persistent storage.

✨ Core Features

  • πŸ” Authentication with secure cookie-based session key (sk)
  • πŸ‘₯ Multi-role dashboard routing
  • πŸ§‘β€πŸ’Ό Admin panel experience
  • πŸŽ“ Student dashboard experience
  • πŸ§‘β€πŸ« Faculty dashboard experience
  • 🏒 Staff and Club role handling
  • βœ… Attendance management workflows
  • πŸ‘€ Profile view/edit support
  • πŸ›‘οΈ Security headers via Helmet + CSP

πŸ–ΌοΈ Screenshots (16:9)

Institute ERP Screenshot 1 Institute ERP Screenshot 2

Left: Main Dashboard View Β β€’Β  Right: Attendance / Role Workflow View

🧱 Project Structure

Institute-ERP/
β”œβ”€β”€ app.js                # Main server and route handling
β”œβ”€β”€ app.sql               # MySQL schema/data setup script
β”œβ”€β”€ start.bat             # Optional Windows startup helper
β”œβ”€β”€ script/
β”‚   β”œβ”€β”€ content.js        # HTML content builders for pages/dashboards
β”‚   └── profile.js        # Profile-related UI/content logic
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ *.css             # Styling files
β”‚   β”œβ”€β”€ *.svg             # Vector assets
β”‚   └── *.png             # Image assets
β”œβ”€β”€ pic/                  # README screenshots (16:9)
β”‚   β”œβ”€β”€ img1.png
β”‚   └── img2.png
└── README.md

βš™οΈ Installation

1) Install Node.js and npm

Choose one method:

Windows/macOS (recommended)

  1. Download the LTS version from: https://nodejs.org/
  2. Install using the setup wizard.
  3. Verify installation:
node -v
npm -v

Ubuntu/Debian

sudo apt update
sudo apt install -y nodejs npm
node -v
npm -v

Tip: If your distro installs an old Node.js version, use NodeSource or nvm to install a current LTS release.

2) Install MySQL Server

Install MySQL Community Server from: https://dev.mysql.com/downloads/mysql/

After installation, verify:

mysql --version

3) Clone the repository

git clone https://github.com/aaravshah1311/Institute-ERP.git
cd Institute-ERP

4) Install project dependencies

npm install express mysql2 body-parser cookie-parser dotenv helmet

πŸ—„οΈ Database Setup (MySQL)

1) Create database/tables using included SQL file

Run from the project root:

mysql -u <your_mysql_user> -p < app.sql

This imports all schema/data defined in app.sql.

2) Confirm DB accessibility

Make sure:

  • MySQL server is running,
  • credentials are valid,
  • host and port match your .env settings.

πŸ” Environment Variables (.env)

Create a .env file in the project root:

DB_HOST=127.0.0.1
DB_USER=your_mysql_user
DB_PASS=your_mysql_password
DB_NAME=your_database_name
DB_PORT=3306

Notes

  • DB_HOST: usually 127.0.0.1 for local MySQL
  • DB_USER / DB_PASS: your MySQL login credentials
  • DB_NAME: must match the database expected by app.sql data
  • DB_PORT: default MySQL port is 3306

▢️ Run the Application

Start the server:

node app.js

Open in browser:

http://127.0.0.1:3000

πŸ§ͺ Common Setup Checklist

  • Node.js and npm installed
  • MySQL server installed and running
  • Database imported using app.sql
  • .env file created with valid DB credentials
  • Dependencies installed
  • Server starts without errors

πŸ› οΈ Tech Stack

  • Backend: Node.js, Express.js
  • Database: MySQL (mysql2/promise)
  • Middleware: body-parser, cookie-parser, dotenv
  • Security: helmet (CSP + headers)
  • Rendering Pattern: Server-generated HTML via JS content modules

πŸ“Œ Troubleshooting

  • Cannot connect to database
    • Re-check DB_HOST, DB_USER, DB_PASS, DB_NAME, DB_PORT in .env.
  • Login/session issues
    • Clear browser cookies and retry authentication.
  • Port already in use
    • Stop the process using port 3000, then restart the app.
  • Static files not loading
    • Confirm /src assets exist and paths are unchanged.

πŸ‘€ Author

Aarav Shah


Built to simplify institutional operations with practical role-based ERP workflows.

About

Institute ERP is a Node.js and Express-based management system featuring role-aware dashboards for Admin, Faculty, and Students. It automates core academic workflows, including attendance tracking, profile management, and secure session-based authentication. The platform utilizes MySQL for data storage and Helmet for enhanced web security.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors