Skip to content

okenwa/School_suit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

7 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸŽ“ School Suite - Complete School Management System

A comprehensive, modern school management system built with NestJS (backend) and Next.js (frontend).

πŸ“ Project Structure

school-suite/
β”œβ”€β”€ backend/               # NestJS API Server
β”‚   β”œβ”€β”€ src/              # Source code
β”‚   β”œβ”€β”€ dist/             # Compiled code
β”‚   β”œβ”€β”€ test/             # Tests
β”‚   └── package.json      # Backend dependencies
β”‚
β”œβ”€β”€ frontend/             # Next.js Web Application
β”‚   β”œβ”€β”€ app/              # Next.js app directory
β”‚   β”œβ”€β”€ components/       # React components
β”‚   β”œβ”€β”€ lib/              # Utilities
β”‚   └── package.json      # Frontend dependencies
β”‚
β”œβ”€β”€ docker-compose.yml    # Docker services (PostgreSQL, Redis)
└── README.md            # This file

πŸš€ Quick Start

Prerequisites

  • Node.js 18+ installed
  • Docker Desktop running (for PostgreSQL)
  • npm or yarn package manager

1. Start Database Services

docker-compose up -d

2. Start Backend (Terminal 1)

cd backend
npm install
npm run start:dev

Backend will run on: http://localhost:3000

3. Start Frontend (Terminal 2)

cd frontend
npm install
npm run dev

Frontend will run on: http://localhost:3001

🎯 Features

βœ… Implemented Modules (Backend)

  • Tenancy Module - Multi-tenant management, schools, subscriptions
  • Auth Module - JWT authentication, user management
  • Academics Module - Academic years, classes, sections, subjects
  • Finance Module - Fee structures, payments, receipts, installments

🎨 Frontend Features

  • Onboarding Flow - Step-by-step school setup
  • Dashboard - Overview and analytics
  • Modern UI - Beautiful, responsive design with Tailwind CSS
  • Authentication - Login/Register pages

πŸ“Š API Endpoints

  • 100+ REST API Endpoints
  • JWT Authentication
  • Role-Based Access Control
  • Multi-tenant Architecture

See backend/src/tenancy/README.md for detailed API documentation.

πŸ“š Documentation

  • APP_RUNNING_SUCCESSFULLY.md - Quick start guide
  • IMPLEMENTATION_COMPLETE.md - Implementation details
  • FINAL_STATUS.md - Complete status overview
  • DATABASE_SETUP.md - Database setup guide
  • backend/src/tenancy/README.md - Tenancy API docs
  • backend/src/tenancy/QUICKSTART.md - API quick start
  • postman_collection.json - Postman collection

πŸ§ͺ Testing

Backend Tests

cd backend
npm run test
npm run test:e2e

Import Postman Collection

Import postman_collection.json into Postman for complete API testing.

🐳 Docker Services

The docker-compose.yml provides:

  • PostgreSQL 17 - Main database (port 5432)
  • Redis 7 - Caching and queues (port 6379)
# Start services
docker-compose up -d

# View logs
docker-compose logs -f

# Stop services
docker-compose down

πŸ”’ Default Credentials

After seeding data:

⚠️ Change these in production!

πŸ› οΈ Development

Backend Development

cd backend
npm run start:dev      # Start with watch mode
npm run build          # Build for production
npm run lint           # Run linter

Frontend Development

cd frontend
npm run dev            # Start development server
npm run build          # Build for production
npm run start          # Start production server

πŸ“ˆ Project Progress

  • βœ… Backend: 4/15 modules complete (27%)
  • βœ… Frontend: Onboarding flow + Authentication
  • βœ… Database: PostgreSQL with 29 tables
  • βœ… API: 100+ endpoints operational

πŸŽ“ Tech Stack

Backend

  • NestJS 11
  • TypeORM
  • PostgreSQL 17
  • JWT Authentication
  • Class Validator
  • Passport.js

Frontend

  • Next.js 15
  • React 19
  • TypeScript
  • Tailwind CSS
  • React Hook Form
  • Axios

πŸ“ Environment Variables

Backend (.env in backend folder)

DB_HOST=localhost
DB_PORT=5432
DB_USER=postgres
DB_PASSWORD=postgres123
DB_NAME=school_suite
JWT_SECRET=your-secret-key
NODE_ENV=development
PORT=3000

Frontend (.env.local in frontend folder)

NEXT_PUBLIC_API_URL=http://localhost:3000

🀝 Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Commit your changes
  4. Push to the branch
  5. Create a Pull Request

πŸ“„ License

This project is licensed under the UNLICENSED License.

πŸ™ Support

For issues or questions:

  1. Check the documentation files
  2. Review the API documentation
  3. Check the backend logs
  4. Verify Docker services are running

Built with ❀️ for modern school management

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors