Institute Automation System is a full-stack web application designed to automate and streamline various institutional processes. The system consists of a backend server built with Node.js and Express, and a frontend client developed using React.js.
Visit our website at https://ias-iitg.onrender.com/
- Project Structure
- Prerequisites
- Installation
- Running the Application
- Environment Variables
- Seeding the Database
- Running Tests
- Demo Usage
- Technologies Used
- Folder Structure
- Contributing
This repository contains two main parts:
api/: The backend server built with Node.js and Express.client/: The frontend client built with React.
Ensure you have the following installed:
- Node.js (version 16 or higher)
- npm (Node package manager)
- Navigate to the backend directory:
cd api - Install dependencies:
npm install
- Navigate to the client directory:
cd client - Install dependencies:
npm install
To run the backend server, use:
cd api
npm run devTo start the frontend development server, use:
cd client
npm startCreate .env files in both the api and client directories and add appropriate environment variables.
RAZORPAY_KEY_ID=
RAZORPAY_KEY_SECRET=
PORT=8000 # Or any port you prefer for the backend
ACCESS_TOKEN_SECRET=
REFRESH_TOKEN_SECRET=
MONGODB_URI=
TEST_DB_URI=
EMAIL_HOST=smtp.gmail.com
EMAIL_PORT=587
EMAIL_USERNAME=
EMAIL_PASSWORD=
CLOUDINARY_CLOUD_NAME=
CLOUDINARY_API_KEY=
CLOUDINARY_API_SECRET=
SERVER_URL=https://ias-server-cpoh.onrender.com
CLIENT_URL=https://ias-iitg.onrender.com
REACT_APP_RAZORPAY_KEY_ID =
REACT_APP_API_URL=https://ias-server-cpoh.onrender.com/api
To seed the database with initial data, run:
cd api
npm run seedTo execute the backend test suite:
cd api
npm run test/<file-name>We have defined 4 roles: Student, Faculty, Academic Admin and Hostel Admin. You can login into the academic admin account using the credentials:
email: acadAdmin@iitg.ac.in
password: admin123After logging in, you can register new students as well as faculties in the student and faculty management section repectively. The new user will be created with the password being the email address by default.
While importing the csv for student registration, the format should be like the one given below.

- Node.js
- Express.js
- MongoDB
- Mongoose
- JWT Authentication
- Jest for testing
- React.js
- React Router
- Context API
- Axios
controllers/ - Handles route logic
database/ - Database connection
helpers/ - Utility functions
middleware/ - Auth and error handlers
models/ - Database schemas/models
routes/ - API route definitions
scripts/ - Custom scripts (e.g., seeders)
tests/ - Test cases
utils/ - Common utility code
index.js - Main entry point
public/ - Static files
src/
assets/ - Images and other assets
components/ - Reusable UI components
context/ - Global state management
pages/ - React page components
utils/ - Utility functions
App.jsx - Main application component
index.js - React app entry point
Institute Automation Technical and User Documentation
Contributions are welcome. Please fork the repository and submit a pull request with your proposed changes. Ensure your code is well-documented and tested.