Aptiverse API is the core backend service for an innovative AI-powered educational platform designed to help South African Grade 12 students achieve academic success through personalized learning, mental health support, and comprehensive university readiness planning.
🚀 Transforming education from toxic competition to empowering growth through AI-driven personalized learning and holistic student support.
Aptiverse is a comprehensive educational ecosystem that moves beyond traditional learning apps by combining:
- 🤖 AI-Powered Academic Support - Personalized goal setting and practice tests
- 💭 Mental Health Integration - Psychologist access and well-being tracking
- 🎯 Future Planning - University readiness and bursary guidance
- 👥 Community Learning - Tutor connections and peer collaboration
- 📊 Analytics & Insights - Progress tracking for students, parents, and teachers
- Grade 11 & 12 South African Students preparing for NSC/IEB examinations
- Teachers & School Administrators managing classroom activities
- Parents & Guardians supporting their children's educational journey
- Tutors & Educational Psychologists providing specialized support
┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ Auth Service │ │ Email Service │ │ Main API │
│ (.NET 10) │◄──►│ (Go) │◄──►│ (.NET 10) │
└─────────────────┘ └──────────────────┘ └─────────────────┘
│ │ │
▼ ▼ ▼
┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ PostgreSQL │ │ RabbitMQ │ │ Redis │
│ (Identity) │ │ (Messaging) │ │ (Cache) │
└─────────────────┘ └──────────────────┘ └─────────────────┘
| Component | Technology |
|---|---|
| Framework | .NET 10, ASP.NET Core |
| Database | PostgreSQL with Entity Framework Core |
| Caching | Redis for session management and performance |
| Messaging | RabbitMQ for async communication |
| Authentication | JWT Tokens with separate Auth Provider |
| API Documentation | Swagger/OpenAPI |
| Containerization | Docker |
src/
├── Aptiverse.Api/ # Main API Gateway
│ ├── Controllers/ # API Endpoints
│ ├── Application/ # Application Layer (DTOs, Services)
│ ├── Core/ # Core Domain Models
│ ├── Domain/ # Domain Entities & Business Rules
│ ├── Infrastructure/ # Data Access & External Services
│ └── Utilities/ # Helpers & Extensions
├── Aptiverse.Auth.Provider/ # Authentication Service
└── email-service/ # Go-based Email Service
- Main API Service (
Aptiverse.Api) - Core business logic and API gateway - Auth Provider - Dedicated authentication and user management
- Email Service (Go) - Async email processing via RabbitMQ
- AI-Powered Goal Setting - Smart academic targets based on historical performance
- Personalized Practice Tests - AI-generated assessments aligned with SBAs
- Progress Analytics - Strength tracking and subject proficiency predictions
- Past Paper Integration - NSC/IEB question bank with AI recommendations
- Collaborative Study Groups - Peer-to-peer learning environments
- "Explain It To Me" - Concept reinforcement through teaching
- Knowledge Gap Analysis - AI-identified learning opportunities
- Multi-language Support - isiZulu, Afrikaans, isiXhosa content
- Integrated Diary - Academic and emotional tracking
- Psychologist Access - Professional mental health support
- Well-being Check-ins - Mood and stress level monitoring
- "Take a Break" Features - Mindfulness and relaxation exercises
- University Readiness - Course matching and preparation strategies
- Bursary Navigator - Simplified application processes
- Career Guidance - Subject-to-career pathway mapping
- Financial Literacy - University cost and budgeting education
- Student View - Personalized learning journey and progress tracking
- Teacher View - Classroom analytics and assignment management
- Parent View - Child progress monitoring and support guidance
- School Admin - Institutional analytics and reporting
POST /api/auth/login # User authentication
POST /api/auth/register # User registration
GET /api/users/me # Current user profile
PUT /api/users/profile # Update user information
GET /api/goals # Get student goals
POST /api/goals # Create new academic goals
GET /api/practice-tests # Get available practice tests
POST /api/practice-tests/generate # Generate personalized test
GET /api/progress/analytics # Learning progress analytics
GET /api/diary/entries # Get diary entries
POST /api/diary/entries # Create new diary entry
GET /api/wellbeing/checkins # Well-being history
POST /api/wellbeing/checkins # Submit well-being check
GET /api/career/paths # Career recommendations
GET /api/university/matches # University course matching
GET /api/bursaries # Available bursaries
POST /api/bursaries/reminders # Set application reminders
- .NET 10 SDK
- PostgreSQL 13+
- Redis 6+
- RabbitMQ 3.8+
- Docker (optional)
{
"ConnectionStrings": {
"PostgreSQL": "Host=localhost;Database=aptiverse;Username=postgres;Password=password",
"Redis": "localhost:6379",
"RabbitMQ": "amqp://localhost:5672"
},
"Jwt": {
"Key": "your-secure-key",
"Issuer": "aptiverse-auth",
"Audience": "aptiverse-api"
},
"Services": {
"AuthService": "https://auth.aptiverse.com",
"EmailService": "https://email.aptiverse.com"
}
}# Start all services
docker-compose up -d
# Build and run specific service
docker build -t aptiverse-api .
docker run -p 8080:8080 aptiverse-api# Restore dependencies
dotnet restore
# Run database migrations
dotnet ef database update
# Start the application
dotnet run --project src/Aptiverse.Api- Client authenticates with Auth Provider service
- Auth Provider returns JWT token with user claims
- API Service validates token and applies role-based policies
- Redis manages sessions and token blacklisting
- Students: 500 requests/minute
- Educators: 1000 requests/minute
- Administrators: 2000 requests/minute
- Encryption: All sensitive data encrypted at rest
- PII Protection: Student data anonymized for analytics
- GDPR Compliance: Built-in data privacy controls
GET /health # API service health
GET /health/redis # Redis connection status
GET /health/db # Database connectivity
- Swagger UI:
/swagger - OpenAPI Spec:
/openapi/v1.json
- Structured logging with Serilog
- Application Insights integration
- Performance metrics and error tracking
- 🎁 Freemium - Basic features, limited practice tests
- 👨🎓 Student - Full academic features, unlimited tests
- 👪 Family - Multiple children, parent dashboard
- 🏫 School - Institutional analytics, teacher tools
- For Students: Personalized learning and mental health support
- For Parents: Actionable insights and progress monitoring
- For Schools: Data-driven intervention and university readiness
- For Tutors: Student matching and course marketplace
We welcome contributions from educators, developers, and students passionate about transforming education. Please see our contribution guidelines for more details.
- AI Model Improvements - Enhanced prediction accuracy
- Multi-language Expansion - Additional South African languages
- Offline Functionality - Data-light features for limited connectivity
- Integration Ecosystem - LMS and calendar platform connections
This project is part of the Aptiverse educational ecosystem and is proprietary software. All rights reserved.
Aptiverse exists to transform education from a source of stress to a journey of growth, empowering every South African student to reach their full potential through personalized support, mental wellness, and clear pathways to success.
Built with ❤️ for the future of South African education