# ahamedmuhsin/pseudo2code-plus-ai-powered-code-generator architecture

> Architecture diagram of the GitHub repository ahamedmuhsin/pseudo2code-plus-ai-powered-code-generator, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-28). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/ahamedmuhsin/pseudo2code-plus-ai-powered-code-generator
- Repository: https://github.com/ahamedmuhsin/pseudo2code-plus-ai-powered-code-generator

## Overview

Pseudo2Code+ is an educational platform for converting pseudocode into level- and language-specific code, alongside interactive algorithm visualizations. Its user workflow spans authentication, code generation, saved history and learning progress; users can also explore visualizers and manage subscriptions and payments. The graph includes documented gamification and leaderboard capabilities. Sampled source supports the backend generation, account-progress, and payment flows; some frontend and unsampled feature wiring is represented only where the repository structure or README supports it.

Main entry points: [`backend/main.py`](https://github.com/ahamedmuhsin/pseudo2code-plus-ai-powered-code-generator/blob/main/backend/main.py) (API application), [`backend/services/user_service.py`](https://github.com/ahamedmuhsin/pseudo2code-plus-ai-powered-code-generator/blob/main/backend/services/user_service.py) (User progress service), [`frontend/Pseudo2code+/src/App.vue`](https://github.com/ahamedmuhsin/pseudo2code-plus-ai-powered-code-generator/blob/main/frontend/Pseudo2code%2B/src/App.vue) (Vue application), [`backend/services/payment/razorpay_service.py`](https://github.com/ahamedmuhsin/pseudo2code-plus-ai-powered-code-generator/blob/main/backend/services/payment/razorpay_service.py) (Razorpay service)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_frontend["Learning frontend"]
  node_app["Vue application<br/>[App.vue]"]
  node_codeview["Code generator view"]
  node_visualizers["Algorithm visualizers"]
  node_algorithmdata["Algorithm steps"]
  node_authclient["Auth client<br/>[authService.js]"]
  node_api["API client<br/>[api.js]"]
end

subgraph group_generation["Code generation"]
  node_provider_manager["AI provider manager"]
  node_providers["AI provider adapters"]
end

subgraph group_account["Accounts and progress"]
  node_authroutes["Auth routes<br/>[auth_routes.py]"]
  node_auth["Token authentication<br/>[auth.py]"]
  node_main["API application<br/>[main.py]"]
  node_userstore[("User records<br/>[db.py]")]
  node_userservice["User progress service<br/>[user_service.py]"]
  node_activity["Activity tracking"]
  node_badges["Badge evaluation<br/>[badge_engine.py]"]
  node_taskengine["Task completion<br/>[task_engine.py]"]
  node_leaderboard["Leaderboard<br/>[main.py]"]
end

subgraph group_billing["Subscriptions and payments"]
  node_subscription_routes["Subscription routes"]
  node_subscription_service["Subscription service"]
  node_payment_routes["Payment routes<br/>[payment_routes.py]"]
  node_razorpay["Razorpay service"]
end

node_learner(("Learner"))
node_ai_services{{"AI provider services"}}
node_razorpay_platform{{"Razorpay"}}

node_learner -->|"uses"| node_app
node_app -->|"renders"| node_codeview
node_app -->|"hosts"| node_visualizers
node_visualizers -->|"uses steps"| node_algorithmdata
node_codeview -->|"requests generation"| node_api
node_authclient -->|"sends auth requests"| node_api
node_api -->|"calls API"| node_main
node_main -->|"routes auth"| node_authroutes
node_authroutes -->|"reads and writes"| node_userstore
node_main -->|"authenticates"| node_auth
node_main -->|"generates code"| node_provider_manager
node_provider_manager -->|"tries providers"| node_providers
node_providers -.->|"requests generation"| node_ai_services
node_main -->|"saves generated code"| node_userservice
node_userservice -->|"updates user records"| node_userstore
node_userservice -->|"records activity"| node_activity
node_userservice -->|"marks tasks"| node_taskengine
node_userservice -->|"evaluates badges"| node_badges
node_main -->|"serves rankings"| node_leaderboard
node_subscription_routes -->|"reads and changes plans"| node_subscription_service
node_payment_routes -->|"creates and verifies"| node_razorpay
node_razorpay -->|"creates orders"| node_razorpay_platform
node_razorpay -->|"activates premium"| node_subscription_service

click node_app "https://github.com/ahamedmuhsin/pseudo2code-plus-ai-powered-code-generator/blob/main/frontend/Pseudo2code%2B/src/App.vue"
click node_codeview "https://github.com/ahamedmuhsin/pseudo2code-plus-ai-powered-code-generator/blob/main/frontend/Pseudo2code%2B/src/views/GenerateCodeView.vue"
click node_visualizers "https://github.com/ahamedmuhsin/pseudo2code-plus-ai-powered-code-generator/tree/main/frontend/Pseudo2code%2B/src/components/visualizer"
click node_algorithmdata "https://github.com/ahamedmuhsin/pseudo2code-plus-ai-powered-code-generator/tree/main/frontend/Pseudo2code%2B/src/algorithms"
click node_authclient "https://github.com/ahamedmuhsin/pseudo2code-plus-ai-powered-code-generator/blob/main/frontend/Pseudo2code%2B/src/services/authService.js"
click node_api "https://github.com/ahamedmuhsin/pseudo2code-plus-ai-powered-code-generator/blob/main/frontend/Pseudo2code%2B/src/services/api.js"
click node_authroutes "https://github.com/ahamedmuhsin/pseudo2code-plus-ai-powered-code-generator/blob/main/backend/routes/auth_routes.py"
click node_auth "https://github.com/ahamedmuhsin/pseudo2code-plus-ai-powered-code-generator/blob/main/backend/auth.py"
click node_main "https://github.com/ahamedmuhsin/pseudo2code-plus-ai-powered-code-generator/blob/main/backend/main.py"
click node_userstore "https://github.com/ahamedmuhsin/pseudo2code-plus-ai-powered-code-generator/blob/main/backend/db.py"
click node_userservice "https://github.com/ahamedmuhsin/pseudo2code-plus-ai-powered-code-generator/blob/main/backend/services/user_service.py"
click node_activity "https://github.com/ahamedmuhsin/pseudo2code-plus-ai-powered-code-generator/blob/main/backend/services/activity/activity_service.py"
click node_badges "https://github.com/ahamedmuhsin/pseudo2code-plus-ai-powered-code-generator/blob/main/backend/services/badges/badge_engine.py"
click node_taskengine "https://github.com/ahamedmuhsin/pseudo2code-plus-ai-powered-code-generator/blob/main/backend/services/tasks/task_engine.py"
click node_leaderboard "https://github.com/ahamedmuhsin/pseudo2code-plus-ai-powered-code-generator/blob/main/backend/main.py"
click node_provider_manager "https://github.com/ahamedmuhsin/pseudo2code-plus-ai-powered-code-generator/blob/main/backend/services/ai/provider_manager.py"
click node_providers "https://github.com/ahamedmuhsin/pseudo2code-plus-ai-powered-code-generator/tree/main/backend/services/ai/providers"
click node_subscription_routes "https://github.com/ahamedmuhsin/pseudo2code-plus-ai-powered-code-generator/blob/main/backend/routes/subscription_routes.py"
click node_subscription_service "https://github.com/ahamedmuhsin/pseudo2code-plus-ai-powered-code-generator/blob/main/backend/services/subscription_service.py"
click node_payment_routes "https://github.com/ahamedmuhsin/pseudo2code-plus-ai-powered-code-generator/blob/main/backend/routes/payment_routes.py"
click node_razorpay "https://github.com/ahamedmuhsin/pseudo2code-plus-ai-powered-code-generator/blob/main/backend/services/payment/razorpay_service.py"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_app,node_codeview,node_visualizers,node_algorithmdata,node_authclient,node_api toneBlue
class node_provider_manager,node_providers toneAmber
class node_authroutes,node_auth,node_main,node_userstore,node_userservice,node_activity,node_badges,node_taskengine,node_leaderboard toneMint
class node_subscription_routes,node_subscription_service,node_payment_routes,node_razorpay toneRose
class node_learner,node_ai_services,node_razorpay_platform toneIndigo
```

## Components

### Learning frontend

- [Vue application](https://github.com/ahamedmuhsin/pseudo2code-plus-ai-powered-code-generator/blob/main/frontend/Pseudo2code%2B/src/App.vue): `frontend/Pseudo2code+/src/App.vue`
- [Code generator view](https://github.com/ahamedmuhsin/pseudo2code-plus-ai-powered-code-generator/blob/main/frontend/Pseudo2code%2B/src/views/GenerateCodeView.vue): `frontend/Pseudo2code+/src/views/GenerateCodeView.vue`
- [Algorithm visualizers](https://github.com/ahamedmuhsin/pseudo2code-plus-ai-powered-code-generator/tree/main/frontend/Pseudo2code%2B/src/components/visualizer): `frontend/Pseudo2code+/src/components/visualizer`
- [Algorithm steps](https://github.com/ahamedmuhsin/pseudo2code-plus-ai-powered-code-generator/tree/main/frontend/Pseudo2code%2B/src/algorithms): `frontend/Pseudo2code+/src/algorithms`
- [Auth client](https://github.com/ahamedmuhsin/pseudo2code-plus-ai-powered-code-generator/blob/main/frontend/Pseudo2code%2B/src/services/authService.js): `frontend/Pseudo2code+/src/services/authService.js`
- [API client](https://github.com/ahamedmuhsin/pseudo2code-plus-ai-powered-code-generator/blob/main/frontend/Pseudo2code%2B/src/services/api.js): `frontend/Pseudo2code+/src/services/api.js`

### Code generation

- [AI provider manager](https://github.com/ahamedmuhsin/pseudo2code-plus-ai-powered-code-generator/blob/main/backend/services/ai/provider_manager.py): `backend/services/ai/provider_manager.py`
- [AI provider adapters](https://github.com/ahamedmuhsin/pseudo2code-plus-ai-powered-code-generator/tree/main/backend/services/ai/providers): `backend/services/ai/providers`

### Accounts and progress

- [Auth routes](https://github.com/ahamedmuhsin/pseudo2code-plus-ai-powered-code-generator/blob/main/backend/routes/auth_routes.py): `backend/routes/auth_routes.py`
- [Token authentication](https://github.com/ahamedmuhsin/pseudo2code-plus-ai-powered-code-generator/blob/main/backend/auth.py): `backend/auth.py`
- [API application](https://github.com/ahamedmuhsin/pseudo2code-plus-ai-powered-code-generator/blob/main/backend/main.py): `backend/main.py`
- [User records](https://github.com/ahamedmuhsin/pseudo2code-plus-ai-powered-code-generator/blob/main/backend/db.py): `backend/db.py`
- [User progress service](https://github.com/ahamedmuhsin/pseudo2code-plus-ai-powered-code-generator/blob/main/backend/services/user_service.py): `backend/services/user_service.py`
- [Activity tracking](https://github.com/ahamedmuhsin/pseudo2code-plus-ai-powered-code-generator/blob/main/backend/services/activity/activity_service.py): `backend/services/activity/activity_service.py`
- [Badge evaluation](https://github.com/ahamedmuhsin/pseudo2code-plus-ai-powered-code-generator/blob/main/backend/services/badges/badge_engine.py): `backend/services/badges/badge_engine.py`
- [Task completion](https://github.com/ahamedmuhsin/pseudo2code-plus-ai-powered-code-generator/blob/main/backend/services/tasks/task_engine.py): `backend/services/tasks/task_engine.py`
- [Leaderboard](https://github.com/ahamedmuhsin/pseudo2code-plus-ai-powered-code-generator/blob/main/backend/main.py): `backend/main.py`

### Subscriptions and payments

- [Subscription routes](https://github.com/ahamedmuhsin/pseudo2code-plus-ai-powered-code-generator/blob/main/backend/routes/subscription_routes.py): `backend/routes/subscription_routes.py`
- [Subscription service](https://github.com/ahamedmuhsin/pseudo2code-plus-ai-powered-code-generator/blob/main/backend/services/subscription_service.py): `backend/services/subscription_service.py`
- [Payment routes](https://github.com/ahamedmuhsin/pseudo2code-plus-ai-powered-code-generator/blob/main/backend/routes/payment_routes.py): `backend/routes/payment_routes.py`
- [Razorpay service](https://github.com/ahamedmuhsin/pseudo2code-plus-ai-powered-code-generator/blob/main/backend/services/payment/razorpay_service.py): `backend/services/payment/razorpay_service.py`

### Other components

- **Learner**
- **AI provider services**
- **Razorpay**

## Connections

- Learner → Vue application: uses
- Vue application → Code generator view: renders
- Vue application → Algorithm visualizers: hosts
- Algorithm visualizers → Algorithm steps: uses steps
- Code generator view → API client: requests generation
- Auth client → API client: sends auth requests
- API client → API application: calls API
- API application → Auth routes: routes auth
- Auth routes → User records: reads and writes
- API application → Token authentication: authenticates
- API application → AI provider manager: generates code
- AI provider manager → AI provider adapters: tries providers
- AI provider adapters → AI provider services: requests generation
- API application → User progress service: saves generated code
- User progress service → User records: updates user records
- User progress service → Activity tracking: records activity
- User progress service → Task completion: marks tasks
- User progress service → Badge evaluation: evaluates badges
- API application → Leaderboard: serves rankings
- Subscription routes → Subscription service: reads and changes plans
- Payment routes → Razorpay service: creates and verifies
- Razorpay service → Razorpay: creates orders
- Razorpay service → Subscription service: activates premium
