Skip to content

Latest commit

 

History

652 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎓 Multi-Tenant School Management System

A scalable multi-tenant school management system built with Node.js + TypeScript using a modular + layered architecture (Controller → Service → Repository).
Designed for managing multiple schools (tenants) with separate users, roles, and data isolation.


✨ Features

  • 🔑 Authentication & Authorization (JWT/OAuth)
  • 🏫 Multi-Tenant Support (schools, admins, students, teachers)
  • 👩‍🏫 Role-Based Access Control (RBAC)
  • 📚 Student Management (admissions, attendance, grades)
  • 👨‍🏫 Teacher Management (courses, schedules, grading)
  • 💰 Payment Integration (Tuition & Fees – Paystack/Interswitch)
  • 📊 Admin Dashboard (analytics & reports)

🛠 Tech Stack

  • Backend: Node.js, Express.js, TypeScript
  • Database: PostgreSQL (via Prisma ORM)
  • Auth: JWT / OAuth 2.0
  • Cache & Queue: Redis (optional for scaling)
  • Frontend (planned): Next.js + React (separate repo)

  • Controller → Handles HTTP requests/responses.
  • Service → Business logic layer.
  • Repository → Database queries (via Prisma).
  • Interfaces → TypeScript contracts for strong typing.

🚀 Getting Started

Prerequisites

  • Node.js >= 18
  • PostgreSQL >= 14
  • Redis (optional, for caching/queues)

Installation

# Clone repo
git clone https://github.com/your-username/school-management-system.git
cd school-management-system

# Install dependencies
npm install

# Setup environment
cp .env.example .env

# Run migrations
npx prisma migrate dev

# Run in development
npm run dev

# Build and run in production
npm run build
npm start

About

Multitenant school management sytem backend application

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages