Quickstart
Get all 4 SyncAD platforms running locally.
Prerequisites
| Tool | Version |
|---|---|
| Node.js | 18+ |
| pnpm | 8+ |
| Flutter | 3.8+ |
| Go | 1.21+ |
| PostgreSQL | 15+ |
| Docker | 24+ |
Web Platform (syncad monorepo)
# Clone and install
git clone https://github.com/Metaonus/syncad
cd syncad
pnpm install
# Start infrastructure (PostgreSQL, Redis)
docker compose up -d
# Push DB schema
pnpm --filter @syncad/db drizzle-kit push
# Start API
pnpm --filter api start:dev
# Start admin UIs (choose one or more)
pnpm --filter school-admin-ui start:dev # Next.js 14 / MUI
pnpm --filter super-admin start:dev # Next.js 16 / shadcn
pnpm --filter home start:dev # Marketing site
# API runs at http://localhost:3001
# school-admin-ui at http://localhost:3002
# super-admin at http://localhost:3003
Environment Variables (API)
DATABASE_URL=postgresql://postgres:password@localhost:5432/syncad_central
JWT_SECRET=your-256-bit-secret
AWS_ACCESS_KEY_ID=...
AWS_SECRET_ACCESS_KEY=...
AWS_REGION=ap-south-1
REDIS_URL=redis://localhost:6379
Parents App (Flutter)
cd /Users/dhilshad/Metaonus/syncad-parents
flutter pub get
flutter run
API Base: https://dev-api.metaonus.in/parent/*
Key dependencies: provider, dio, get_it, firebase_core, local_auth, shared_preferences.
Teachers App (Flutter)
cd /Users/dhilshad/Metaonus/syncad-teachers
flutter pub get
flutter run
API Base: https://dev-api.metaonus.in/teacher/*
Evaluation Mode: When evaluationMode=true at school level, all modules become read-only except Exam Management.
Key dependencies: provider, dio, get_it, firebase_messaging, syncfusion_flutter_pdfviewer.
Driver App (Flutter)
cd /Users/dhilshad/Metaonus/syncad-driver
flutter pub get
flutter run
API Base: https://dev-api.metaonus.in/driver/*
Socket.IO: $baseUrl/bus-tracking
Key dependencies: provider, dio, socket_io_client (^3.0.0), geolocator (^13.0.0), flutter_map (OpenStreetMap).
SCS School Provisioning Service (Go)
cd /Users/dhilshad/Metaonus/syncad/apps/scs
go build -o scs ./cmd/server
./scs
# Runs at http://localhost:8080
Provisions per-school PostgreSQL database, Route53 subdomain, and Let's Encrypt SSL certificate when a new school is onboarded.