A comprehensive, modern school management system built with NestJS (backend) and Next.js (frontend).
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
- Node.js 18+ installed
- Docker Desktop running (for PostgreSQL)
- npm or yarn package manager
docker-compose up -dcd backend
npm install
npm run start:devBackend will run on: http://localhost:3000
cd frontend
npm install
npm run devFrontend will run on: http://localhost:3001
- 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
- Onboarding Flow - Step-by-step school setup
- Dashboard - Overview and analytics
- Modern UI - Beautiful, responsive design with Tailwind CSS
- Authentication - Login/Register pages
- 100+ REST API Endpoints
- JWT Authentication
- Role-Based Access Control
- Multi-tenant Architecture
See backend/src/tenancy/README.md for detailed API documentation.
APP_RUNNING_SUCCESSFULLY.md- Quick start guideIMPLEMENTATION_COMPLETE.md- Implementation detailsFINAL_STATUS.md- Complete status overviewDATABASE_SETUP.md- Database setup guidebackend/src/tenancy/README.md- Tenancy API docsbackend/src/tenancy/QUICKSTART.md- API quick startpostman_collection.json- Postman collection
cd backend
npm run test
npm run test:e2eImport postman_collection.json into Postman for complete API testing.
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 downAfter seeding data:
- Email: admin@schoolsuite.com
- Password: admin123
cd backend
npm run start:dev # Start with watch mode
npm run build # Build for production
npm run lint # Run lintercd frontend
npm run dev # Start development server
npm run build # Build for production
npm run start # Start production server- β Backend: 4/15 modules complete (27%)
- β Frontend: Onboarding flow + Authentication
- β Database: PostgreSQL with 29 tables
- β API: 100+ endpoints operational
- NestJS 11
- TypeORM
- PostgreSQL 17
- JWT Authentication
- Class Validator
- Passport.js
- Next.js 15
- React 19
- TypeScript
- Tailwind CSS
- React Hook Form
- Axios
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=3000NEXT_PUBLIC_API_URL=http://localhost:3000- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request
This project is licensed under the UNLICENSED License.
For issues or questions:
- Check the documentation files
- Review the API documentation
- Check the backend logs
- Verify Docker services are running
Built with β€οΈ for modern school management