https://github.com/7irelo/aptiverse
Aptiverse is an AI-powered student success platform monorepo for South African Grade 12 learners, with a Next.js frontend, .NET 10 microservices, a FastAPI AI service, Rails payments, and Go event/notification services backed by PostgreSQL, Redis, RabbitMQ, Kafka, and Terraform.
https://github.com/7irelo/aptiverse
apache-kafka docker dotnet fastapi golang kubernetes nextjs rabbitmq redis ruby-on-rails terraform
Last synced: 4 days ago
JSON representation
Aptiverse is an AI-powered student success platform monorepo for South African Grade 12 learners, with a Next.js frontend, .NET 10 microservices, a FastAPI AI service, Rails payments, and Go event/notification services backed by PostgreSQL, Redis, RabbitMQ, Kafka, and Terraform.
- Host: GitHub
- URL: https://github.com/7irelo/aptiverse
- Owner: 7irelo
- Created: 2025-06-02T13:43:39.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2026-03-19T14:29:22.000Z (3 months ago)
- Last Synced: 2026-03-20T06:57:30.605Z (3 months ago)
- Topics: apache-kafka, docker, dotnet, fastapi, golang, kubernetes, nextjs, rabbitmq, redis, ruby-on-rails, terraform
- Language: JavaScript
- Homepage: http://aptiverse.co.za/
- Size: 45.7 MB
- Stars: 4
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Aptiverse
An AI-powered student success platform built for South African Grade 11 & 12 learners. SBA-aligned practice, predictive mastery, integrated wellbeing, bursary navigation, and verified rewards — framed around growth, not toxic comparison.
This is a **polyglot monorepo**. Each component below has its own README with build, run, and architecture details — start there.
## Components
| Path | Tech | What it does |
|---|---|---|
| [`api/Aptiverse.Api/`](api/Aptiverse.Api/) | .NET 10, ASP.NET Core | Modular monolith — auth (Identity + JWT) plus 14 domain modules (academic-planning, audit, booking, calendar, entitlements, feature-flags, goals, insights, marketplace, mastery, moderation, practice, support, wellbeing) running in one process on port 5100. |
| [`ui/`](ui/) | Next.js 16, React 19, MUI v7 | Web client — marketing site, auth flow, role-aware dashboards (student, parent, teacher, school admin, tutor, admin). Port 3000. |
| [`ai-service/`](ai-service/) | Python 3.11, FastAPI, PyTorch | ML inference: practice generation, rubric grading, OCR, pattern analysis. Port 8000. |
| [`payment-gateway/`](payment-gateway/) | Rails 8, Stripe | Checkout sessions and webhook handling. Port 3001. |
| [`infrastructure/`](infrastructure/) | Terraform, Docker Compose | AWS IaC (VPC, EKS, RDS, ElastiCache, ALB, Route 53) and local dev stack. |
## Why this shape
The .NET API is a modular monolith — one process, 15 bounded contexts (1 auth + 14 domain modules). The other components stay separate for genuine technical reasons (different language, different resource profile, async-by-design). Microservice coordination cost isn't worth paying without a team big enough to amortise it. See [`api/Aptiverse.Api/README.md`](api/Aptiverse.Api/README.md) for the full rationale and module map.
## Run the stack
Local dev — Postgres + Redis in Docker, everything else native (faster iteration):
```bash
# Start infra
cd infrastructure
cp .env.example .env # fill in values
docker compose -f docker-compose.dev.yml up -d postgres redis
# .NET API
cd ../api/Aptiverse.Api
dotnet ef database update # apply migrations
dotnet run # http://localhost:5100
# Frontend
cd ../../ui
npm install
npm run dev # http://localhost:3000
# Optional sidecar services (run only what you need)
cd ../ai-service && uvicorn app.main:app --port 8000
cd ../payment-gateway && bin/rails server -p 3001
```
Email is sent in-process from the .NET API via AWS SES SMTP — no separate worker. Set `EmailSettings:Server`, `Username`, `Password` in `appsettings.json` (SMTP credentials, not AWS access keys).
Full stack in Docker:
```bash
docker compose -f infrastructure/docker-compose.dev.yml \
-f infrastructure/docker-compose.override.yml up
```
## Documentation
| Doc | Scope |
|---|---|
| [`README.md`](README.md) | This file — repo overview |
| [`CLAUDE.md`](CLAUDE.md) | Repo-wide guidance for AI assistants |
| [`api/Aptiverse.Api/README.md`](api/Aptiverse.Api/README.md) | .NET API: architecture, modules, RBAC, EF, deployment |
| [`api/Aptiverse.Api/CLAUDE.md`](api/Aptiverse.Api/CLAUDE.md) | .NET API: code conventions, common tasks, gotchas |
## Status
Active development. One backend host (.NET), one web client (Next.js), three sidecar services for legitimate cross-tech reasons.
## Licence
All rights reserved.