Introduction
The Institution Management System is a comprehensive platform for educational institutions, combining CRM, Education Management, Learning Management System (LMS), and Enterprise Resource Planning (ERP) in a single integrated solution.
Installation
Prerequisites
- Docker Desktop with Docker Compose v2.0+
- Node.js 18+ and pnpm (for local development)
- At least 4GB RAM available
- 10GB free disk space
Step 1: Clone the Repository
git clone <repository-url>
cd institution-managementStep 2: Set Up Environment Files
cp .env.example .envCreate backend/.env and frontend/.env — see the Configuration section below for required variables.
Configuration
Backend Environment (backend/.env)
DATABASE_URL="mysql://<user>:<password>@db:3306/pci_dev"
PORT=3001
JWT_SECRET=<generate-a-strong-random-secret>
ENCRYPTION_KEY=<generate-a-32-char-minimum-key>
CERTIFICATE_STORAGE_PATH=/app/certificates
BROWSER_HEADLESS=trueFrontend Environment (frontend/.env)
NEXT_PUBLIC_API_URL=http://localhost:3001/apiOptional: PisoPay Payment Gateway
PISOPAY_API_URL=https://api-checkout.pisopay.com.ph/api/v1
PISOPAY_API_USER=<your-api-user>
PISOPAY_API_PASS=<your-api-pass>
PISOPAY_CALLBACK_BASE_URL=http://localhost:3001Running the Application
With Docker (recommended)
# Start all services
docker compose up -d
# Run database migrations
docker compose exec backend pnpm prisma:migrate
# Seed initial data
docker compose exec backend pnpm prisma:seedLocal Development (without Docker)
# Start only the database in Docker
docker compose up -d db
# Backend (in one terminal)
cd backend
pnpm install
pnpm prisma:generate
pnpm prisma:migrate
pnpm prisma:seed
pnpm start:dev
# Frontend (in another terminal)
cd frontend
pnpm install
pnpm devService URLs
- Frontend:
http://localhost:3000 - Backend API:
http://localhost:3001/api - Swagger Docs:
http://localhost:3001/api - AI Service:
http://localhost:8000/docs
First Login
After running the database seed (pnpm prisma:seed), an administrator account is created. Check backend/prisma/seed.ts for the default credentials.
Navigate to http://localhost:3000/sign-in and log in with the admin credentials. From the dashboard, you can create additional users, configure email settings, and set up your institution.