YeneSchool
DevOps & Deployment

Local Development & Developer Environment Setup

Guide for setting up YeneSchool locally for active development — hot reloading with docker-compose.dev.yml, manual dev servers, and running security tests.

Local Development & Developer Environment Setup

This guide details how software engineers and school technical teams can run YeneSchool in a local development environment with instant hot-reloading and debug tooling.


1. Quick Start with Docker Dev Stack

The fastest path to a running development environment is docker-compose.dev.yml. It boots isolated dev volumes so you never mix dev and production databases:

# Clone the repository
git clone https://github.com/your-org/YeneSchool-School-Management-System.git
cd YeneSchool-School-Management-System

# Start dev stack with live file mounting and hot reload
docker compose -f docker-compose.dev.yml up --build

Once booting completes:

  • Frontend App: Accessible at http://localhost:8000 (live hot reload on edit).
  • Backend API: Accessible at http://localhost:8001 (NestJS watcher).
  • Swagger API Docs: Accessible at http://localhost:8001/api/docs.
  • PostgreSQL: Bound to host port 5433 (username: lemari, database: lemarisms).

2. Manual Setup (Without Docker for Node Services)

If you prefer running Node services directly on your host machine while running PostgreSQL and Redis in Docker:

Step 1: Start Database & Redis

docker compose -f docker-compose.dev.yml up -d postgres redis

Step 2: Configure & Start Backend

cd backend
npm install

# Copy development environment config
cp .env.example .env

# Run Prisma database migrations
npx prisma migrate dev

# Seed test schools, demo students, and staff accounts
npx prisma db seed

# Start NestJS development server with watch mode
npm run start:dev

The backend API is now running at http://localhost:8001.

Step 3: Configure & Start Frontend

cd ../frontend
npm install

# Copy local frontend environment config
cp .env.local.example .env.local

# Start Next.js development server
npm run dev

The frontend is now running at http://localhost:8000.


3. Useful Developer Commands

TaskCommandDirectory
Prisma Visual GUInpx prisma studiobackend/
Create DB Migrationnpx prisma migrate dev --name <migration_name>backend/
Re-seed Databasenpx prisma db seedbackend/
Run Backend Unit Testsnpm run testbackend/
Run E2E Security Testsbash test/security/run-all.shbackend/
Format & Lint Codenpm run lintfrontend/ & backend/
Copyright © 2026 YeneSchool · All rights reserved.