Skip to content

Development Hub ​

Overview ​

Central hub for all YeboLearn development activities, sprint planning, backlog management, and release tracking.

Current Status ​

Latest Release: v1.0.0 ​

Released: December 2024 Status: ✅ Production Ready

What's New:

  • Complete school management platform
  • 5 specialized dashboards
  • 35+ core features
  • 15+ AI capabilities
  • Payment processing (Stripe + MTN)
  • Multi-tenant architecture
  • RBAC with 7 user roles

Active Sprint ​

Sprint 24 (Current) ​

Duration: Jan 6 - Jan 19, 2025 Theme: Go-To-Market Preparation

Sprint Goals:

  1. ✅ Complete pricing analysis
  2. 🔄 Build sales demo environment
  3. 📋 Create onboarding documentation
  4. 📋 Develop customer success playbook
  5. 📋 Launch marketing website updates

Progress: 2/5 complete (40%)

Team Capacity:

  • Engineering: 3 developers × 80 hrs = 240 hrs
  • Product: 1 PM × 40 hrs = 40 hrs
  • Design: 1 designer × 40 hrs = 40 hrs

Development Metrics ​

Velocity ​

  • Last Sprint: 45 story points
  • Current Sprint: 38 story points (projected)
  • Average Velocity: 42 story points
  • Trend: Stable

Code Quality ​

  • Test Coverage: 72%
  • Code Review Coverage: 100%
  • Average PR Time: 6 hours
  • Build Success Rate: 98%

Performance ​

  • API Response Time: 180ms average
  • Page Load Time: 1.8s on 3G
  • Error Rate: 0.2%
  • Uptime: 99.95%

Technology Stack ​

Backend ​

Runtime: Node.js 18+
Language: TypeScript 5.3
Framework: Express.js 4.18
Database: PostgreSQL 15
Cache: Redis 7
Queue: BullMQ 5.1
Storage: Cloudflare R2 (S3-compatible)
AI: Google Gemini API
Payments: Stripe + MTN Mobile Money

Frontend ​

Framework: React 19
Language: TypeScript 5.9
State Management: TanStack Query
UI Library: Radix UI + TailwindCSS 3.4
Forms: React Hook Form + Zod
Routing: React Router 7
Build Tool: Vite 7.2

Infrastructure ​

Hosting: Google Cloud Run
CDN: Cloudflare
DNS: Cloudflare
Monitoring: Google Cloud Monitoring
Logging: Winston + Cloud Logging
Containers: Docker
CI/CD: GitHub Actions

Development Tools ​

Version Control: Git + GitHub
IDE: VS Code
API Testing: Postman
API Docs: Swagger/OpenAPI
Linting: ESLint
Formatting: Prettier
Testing: Jest + Supertest

Development Workflow ​

Git Workflow ​

graph LR A[main] --> B[develop] B --> C[feature/*] B --> D[bugfix/*] B --> E[hotfix/*] C --> B D --> B E --> A B --> A

Branch Strategy:

  • main - Production code
  • develop - Integration branch
  • feature/* - New features
  • bugfix/* - Bug fixes
  • hotfix/* - Emergency fixes

Pull Request Process ​

  1. Create Branch from develop
  2. Develop feature/fix
  3. Write Tests (required)
  4. Create PR with description
  5. Code Review (1+ approval required)
  6. CI Checks must pass
  7. Merge to develop
  8. Deploy to staging
  9. QA Testing on staging
  10. Release to production (bi-weekly)

Code Review Checklist ​

  • [ ] Code follows style guide
  • [ ] Tests included and passing
  • [ ] No console.logs or debug code
  • [ ] Error handling implemented
  • [ ] Security considerations addressed
  • [ ] Performance optimized
  • [ ] Documentation updated
  • [ ] API changes documented

Project Structure ​

Backend (/backend/yebolearn-api/) ​

backend/
├── src/
│   ├── config/         # Configuration files
│   ├── controllers/    # Request handlers
│   ├── middleware/     # Express middleware
│   ├── routes/         # API routes
│   │   ├── auth.routes.ts
│   │   ├── student.routes.ts
│   │   ├── teacher.routes.ts
│   │   ├── attendance.routes.ts
│   │   ├── grade.routes.ts
│   │   ├── fee.routes.ts
│   │   ├── payment.routes.ts
│   │   ├── message.routes.ts
│   │   ├── notification.routes.ts
│   │   ├── analytics.routes.ts
│   │   ├── aiRoutes.ts
│   │   └── platform/   # Platform admin routes
│   ├── services/       # Business logic (23 services)
│   ├── types/          # TypeScript types
│   ├── utils/          # Utility functions
│   ├── validators/     # Joi/Zod validation schemas
│   ├── database/       # Database utilities
│   ├── jobs/           # Background jobs
│   ├── app.ts          # Express app setup
│   └── server.ts       # Server entry point
├── migrations/         # Database migrations (11 files)
├── tests/              # Test files
└── package.json        # Dependencies

Frontend (/frontend/) ​

frontend/
├── landing/                    # Marketing website
│   └── src/
│       ├── components/
│       ├── pages/
│       └── App.tsx
├── dashboards/
│   ├── superadmin/            # Platform admin dashboard
│   │   └── src/
│   │       ├── pages/         # 14 pages
│   │       ├── components/
│   │       └── App.tsx
│   ├── schooladmin/           # School admin dashboard
│   │   └── src/
│   │       ├── pages/         # 15 pages
│   │       ├── components/
│   │       └── App.tsx
│   ├── teacher/               # Teacher portal
│   │   └── src/
│   │       ├── pages/         # 18 pages
│   │       ├── components/
│   │       └── App.tsx
│   ├── parent/                # Parent portal
│   │   └── src/
│   │       ├── pages/         # 15 pages
│   │       ├── components/
│   │       └── App.tsx
│   └── student/               # Student portal
│       └── src/
│           ├── pages/         # 16 pages
│           ├── components/
│           └── App.tsx

Deployment ​

Environments ​

EnvironmentURLPurposeAuto-Deploy
Locallocalhost:3000DevelopmentNo
Stagingstaging-api.yebolearn.appQA testingYes (develop)
Productionapi.yebolearn.appLive usersYes (main)

Deployment Process ​

Automatic Deployment (CI/CD):

  1. Push to develop → Deploy to staging
  2. Push to main → Deploy to production
  3. GitHub Actions runs:
    • Run tests
    • Build Docker image
    • Push to Google Container Registry
    • Deploy to Cloud Run
    • Run smoke tests

Manual Deployment:

bash
# Build and deploy to production
npm run build
gcloud run deploy yebolearn-api \
  --image gcr.io/yeboshops/yebolearn-api:latest \
  --platform managed \
  --region us-central1

Rollback Procedure ​

If production issues occur:

bash
# Rollback to previous version
gcloud run services update-traffic yebolearn-api \
  --to-revisions=yebolearn-api-previous=100

# Or rollback to specific revision
gcloud run services update-traffic yebolearn-api \
  --to-revisions=yebolearn-api-00042-abc=100

Backlog ​

High Priority ​

  1. Sales demo environment setup
  2. Onboarding documentation
  3. Customer success playbook
  4. Performance optimizations (target <150ms API)
  5. Mobile app development (React Native)

Medium Priority ​

  1. Video conferencing integration
  2. Library management module
  3. Exam management system
  4. Timetable automation (AI-powered)
  5. WhatsApp integration

Low Priority ​

  1. Alumni management
  2. HR & Payroll module
  3. Inventory management
  4. Cafeteria management
  5. Transport tracking

Technical Debt ​

  1. Upgrade to Vite 8 (when released)
  2. Migrate to Drizzle ORM
  3. Add GraphQL layer
  4. Improve error handling consistency
  5. Add comprehensive E2E tests

Bug Tracking ​

Critical Bugs (P0) ​

None currently open

High Priority (P1) ​

None currently open

Medium Priority (P2) ​

  1. [#124] Parent dashboard slow loading with 5+ children
  2. [#118] Email notifications occasionally delayed

Low Priority (P3) ​

  1. [#98] Dark mode styling inconsistent in reports
  2. [#87] Mobile keyboard overlap on some forms

Feature Requests ​

Top Requested Features ​

  1. Mobile Apps (iOS/Android) - 42 requests
  2. WhatsApp Integration - 38 requests
  3. Video Conferencing - 31 requests
  4. Library Management - 24 requests
  5. Transport Tracking - 21 requests

Under Consideration ​

  • Biometric attendance (fingerprint/face)
  • Parent forum/community
  • Marketplace for school supplies
  • Alumni networking
  • Job board for teachers

Release Schedule ​

Upcoming Releases ​

v1.1.0 - February 2025

  • Sales demo environment
  • Improved onboarding flow
  • Performance optimizations
  • WhatsApp notifications (beta)

v1.2.0 - March 2025

  • Video conferencing
  • Library management
  • Enhanced reporting

v1.3.0 - April 2025

  • Exam management
  • Timetable automation
  • Mobile apps (beta)

v2.0.0 - Q3 2025

  • Learning Management System (LMS)
  • Complete curriculum support
  • Assessment builder
  • Parent portal redesign

Team ​

Current Team ​

  • Engineering: 3 developers
  • Product: 1 product manager
  • Design: 1 designer
  • Customer Success: 1 CS manager (part-time)

Hiring Plan (Post-Seed) ​

  • Q1 2025: +2 engineers, +1 sales rep
  • Q2 2025: +1 engineer, +1 CS manager, +1 marketer
  • Q3 2025: +2 engineers, +2 sales reps
  • Q4 2025: +1 engineer, +1 designer, +1 sales rep

Development Resources ​

Documentation ​

Tools ​


🎯 Current Focus ​

This Sprint (Jan 6-19):

  1. Complete GTM preparation
  2. Build sales demo
  3. Create customer docs
  4. Marketing website updates

Next Sprint (Jan 20 - Feb 2):

  1. Performance optimizations
  2. WhatsApp integration (beta)
  3. Mobile app kickoff
  4. Video conferencing research

Need Help? Join our development Slack channel

YeboLearn - Empowering African Education