Skip to content

Latest commit

Β 

History

History
115 lines (90 loc) Β· 3.94 KB

File metadata and controls

115 lines (90 loc) Β· 3.94 KB

πŸŽ“ Academic ERP System (Supabase Edition)

hi [Tech Stack](# project-architecture) Team

🎯 Project Overview

The Academic ERP System is a comprehensive solution for managing educational institutions. Migrated from NoSQL to PostgreSQL via Supabase, this project ensures high data integrity, type safety, and real-time capabilities.

Key Objectives

  • Centralized Data: Single source of truth for students, faculty, and administration.
  • Relational Integrity: Leveraging PostgreSQL for complex academic relationships.
  • Role-Based Access: Specialized dashboards for Students, Faculty, and Admins.
  • Scalability: Clean modular architecture to support future expansions.

πŸ—οΈ Project Architecture

This monorepo is structured for maximum developer efficiency:

Component Technology Stack Key Modules
Client React 19, Vite, Tailwind v4, Zustand Auth, Dashboards, UI Components
Server Node.js, Express, TS, Supabase API, Auth Middleware, DB Logic

πŸ› οΈ Global Setup Guide

1. Prerequisites

  • Node.js (v18+)
  • NPM or PNPM
  • A Supabase Project

2. Environment Configuration

Create a .env file in the /server directory:

PORT=5000
SUPABASE_URL=your_supabase_project_url
SUPABASE_KEY=your_supabase_anon_key
JWT_SECRET=your_jwt_secret

3. Installation & Run

# Terminal 1: Backend
cd server
npm install
npm run dev

# Terminal 2: Frontend
cd client
npm install
npm run dev

🀝 Team Assignments & Roadmap

The current construction phase is divided into the following modules. Please refer to your assigned issue on GitHub for specific requirements.

# Module Developer Status
1 Course Management LakshyaMulchandani πŸ›« Open
2 Resource Allocation prathamjaiswal27 πŸ›« Open
3 Enrollment g0vind-S πŸ›« Open
4 Oversight LakshyaMulchandani πŸ›« Open
5 Attendance prathamjaiswal27 πŸ›« Open
6 Academic Management LakshyaMulchandani πŸ›« Open
7 Leave Management Sharkyii πŸ›« Open
8 Student Interaction saminali01 πŸ›« Open
9 Document Upload g0vind-S πŸ›« Open
10 Fee Management Sharkyii πŸ›« Open
11 Course Selection Sharkyii πŸ›« Open
12 Viewers (Audits) saminali01 πŸ›« Open
13 Progress Tracking prathamjaiswal27 πŸ›« Open
14 Feedback System Sharkyii πŸ›« Open
15 Gamification Sharkyii πŸ›« Open

πŸ“œ Development Standards

Git Workflow 🌿

  1. Branching: feature/your-module-name (e.g., feature/attendance)
  2. Commits: Use descriptive messages (feat: add attendance model)
  3. Pull Requests: Always request a review before merging to main.

Coding Guidelines πŸ’»

  • TypeScript: Define interfaces in models/ (server) or types/ (client).
  • Styling: Use Tailwind CSS utility classes. Avoid inline styles.
  • Safety: Use the protect middleware for all authenticated routes.

πŸ“‚ Project Structure Explained

academic-erp/
β”œβ”€β”€ client/              # React Frontend
β”‚   β”œβ”€β”€ src/app/        # State Management (Zustand)
β”‚   β”œβ”€β”€ src/components/ # Reusable UI Components
β”‚   └── src/services/   # API logic (Axios)
β”œβ”€β”€ server/              # Express Backend
β”‚   β”œβ”€β”€ src/config/     # Supabase & Env Setup
β”‚   β”œβ”€β”€ src/controllers/# Business Logic (Handy Tip: Keep logic here!)
β”‚   └── src/routes/     # Clean API definitions
└── README.md           # You are here

🌟 Acknowledgments

Built with ❀️ by the SE Project BMS team. For any blockers, please reach out via the GitHub Issues board.