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