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.
- Project Structure
- Prerequisites
- Installation
- Running the Application
- Environment Variables
- Seeding the Database
- Running Tests
- Technologies Used
- Folder Structure
- Contributing
- License
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=
REACT_APP_RAZORPAY_KEY_ID =
GENERATE_SOURCEMAP=false
To seed the database with initial data, run:
cd api
npm run seedTo execute the backend test suite:
cd api
npm run test- 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
Contributions are welcome. Please fork the repository and submit a pull request with your proposed changes. Ensure your code is well-documented and tested.