How stanleyyoga123/mimiclearningplatform works
Mimic turns an author’s task brief or RCA into a verified, unpublished exercise, then publishes a starter repository for learners. Learners browse published modules, work in their own clone, ask contextual AI coworkers or a mentor, and open pull requests for automated Codex review. GitHub webhooks queue reviews; frontend profile and mentor dashboards are static previews. Several backend internals were not sampled, so their documented capabilities are shown without speculative internal links.
Main entry points: App.tsx Frontend app · JuniorPage.tsx Learner workspace · module_pipeline.py Generate and publish · chat_session_service.py Chat sessions
Components 28
User workspaces
- Frontend app
frontend/src/app/App.tsx - Author workspace
frontend/src/pages/senior/SeniorPage.tsx - Learner workspace
frontend/src/pages/junior/JuniorPage.tsx - Profile previews
frontend/src/pages/junior/JuniorProfilePage.tsx - Mentor preview
frontend/src/pages/mentor/MentorPage.tsx
Exercise generation
- Module API
frontend/src/features/modules/services/ModuleApi.ts - Module routes
backend/src/apprenticeship/features/modules/module_routes.py - Module service
backend/src/apprenticeship/features/modules/module_service.py - Generate and publish
backend/src/apprenticeship/features/modules/module_pipeline.py - Module records
backend/src/apprenticeship/features/modules/module_repository.py - Exercise verifier
backend/src/apprenticeship/features/verification/docker_verifier.py - GitHub publisher
backend/src/apprenticeship/clients/github_publisher.py
Learner assistance
- Session API
frontend/src/features/sessions/services/SessionApi.ts - Chat sessions
backend/src/apprenticeship/features/learner_workspace/chat_session_service.py - Context materials
backend/src/apprenticeship/features/learner_workspace/chat_materials_reader.py - Chat model client
backend/src/apprenticeship/clients/openrouter_client.py
GitHub review
- Submission API
frontend/src/features/submissions/services/SubmissionApi.ts - Webhook intake
backend/src/apprenticeship/features/github_webhooks/webhook_routes.py - Webhook service
backend/src/apprenticeship/features/github_webhooks/github_webhook_service.py - Webhook inbox
backend/src/apprenticeship/features/github_webhooks/webhook_inbox_repository.py - Background worker
backend/src/apprenticeship/services/job_worker.py - PR review pipeline
backend/src/apprenticeship/features/submissions/submission_pipeline.py - GitHub review client
backend/src/apprenticeship/clients/github_review_client.py - Submission records
backend/src/apprenticeship/features/submissions/submission_repository.py
Other components
- Module author
- Learner
- GitHub
- OpenRouter
Connections 29
- Module author → Frontend app: uses
- Frontend app → Author workspace: routes to
frontend/src/app/App.tsx - Frontend app → Learner workspace: routes to
frontend/src/app/App.tsx - Frontend app → Profile previews: routes to
frontend/src/app/App.tsx - Frontend app → Mentor preview: routes to
frontend/src/app/App.tsx - Author workspace → Module API: requests modules
frontend/src/app/App.tsx - Module API → Module routes: calls API
- Module routes → Module service: delegates
backend/src/apprenticeship/features/modules/module_routes.py - Module service → Generate and publish: queues generation
- Generate and publish → Module records: updates records
backend/src/apprenticeship/features/modules/module_pipeline.py - Generate and publish → Exercise verifier: verifies exercise
backend/src/apprenticeship/features/modules/module_pipeline.py - Generate and publish → GitHub publisher: publishes starter
backend/src/apprenticeship/features/modules/module_pipeline.py - GitHub publisher → GitHub: creates repository
- Learner → Learner workspace: uses
- Learner workspace → Module API: browses modules
- Learner workspace → Session API: starts chat
- Session API → Chat sessions: streams conversation
- Chat sessions → Context materials: loads context
backend/src/apprenticeship/features/learner_workspace/chat_session_service.py - Chat sessions → Chat model client: streams replies
backend/src/apprenticeship/features/learner_workspace/chat_session_service.py - Chat model client → OpenRouter: sends chat
- Learner workspace → Submission API: checks reviews
- GitHub → Webhook intake: delivers events
- Webhook intake → Webhook service: ingests event
backend/src/apprenticeship/features/github_webhooks/webhook_routes.py - Webhook service → Webhook inbox: stores delivery
backend/src/apprenticeship/features/github_webhooks/webhook_routes.py - Webhook inbox → Background worker: provides queued events
- Background worker → PR review pipeline: runs review
backend/src/apprenticeship/services/job_worker.py - PR review pipeline → Submission records: records result
backend/src/apprenticeship/features/submissions/submission_pipeline.py - PR review pipeline → GitHub review client: fetches and posts review
backend/src/apprenticeship/features/submissions/submission_pipeline.py - GitHub review client → GitHub: reviews pull request