Skip to content

SWE-Project-IAS/Institute-Automation-System

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

460 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Institute Automation System

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/

Table of Contents

Project Structure

This repository contains two main parts:

  • api/: The backend server built with Node.js and Express.
  • client/: The frontend client built with React.

Prerequisites

Ensure you have the following installed:

  • Node.js (version 16 or higher)
  • npm (Node package manager)

Installation

Backend

  1. Navigate to the backend directory:
    cd api
  2. Install dependencies:
    npm install

Frontend

  1. Navigate to the client directory:
    cd client
  2. Install dependencies:
    npm install

Running the Application

Backend Server

To run the backend server, use:

cd api
npm run dev

Frontend Client

To start the frontend development server, use:

cd client
npm start

Environment Variables

Create .env files in both the api and client directories and add appropriate environment variables.

Example: api/.env

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

Example: client/.env

REACT_APP_RAZORPAY_KEY_ID = 
REACT_APP_API_URL=https://ias-server-cpoh.onrender.com/api

Seeding the Database

To seed the database with initial data, run:

cd api
npm run seed

Running Tests

To execute the backend test suite:

cd api
npm run test/<file-name>

Demo usage

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: admin123

After 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. image

Demo Video

Technologies Used

Backend

  • Node.js
  • Express.js
  • MongoDB
  • Mongoose
  • JWT Authentication
  • Jest for testing

Frontend

  • React.js
  • React Router
  • Context API
  • Axios

Folder Structure

Backend (api/)

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

Frontend (client/)

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

Documentation

Institute Automation Technical and User Documentation

Contributing

Contributions are welcome. Please fork the repository and submit a pull request with your proposed changes. Ensure your code is well-documented and tested.

About

Institute Automation System digitalizes all paper work and utilities for a student.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors