Upload your code and let AI generate beautiful, comprehensive documentation in seconds.
π Live Demo Β· π Report Bug Β· β¨ Feature Request
- π€ AI-Powered Documentation β Parses your code and generates human-readable docs using Groq AI
- π Universal Language Support β Works with Python, JavaScript, TypeScript, Java, Go, Rust, and more via AI-driven analysis
- π Python AST Mode β Deep Python/Django code analysis with AST parsing for schema tables, endpoint mapping, and model relationships
- π Multiple Input Methods β Upload single
.pyfiles,.ziparchives, paste raw code, or connect a GitHub repository - π Schema Generation β Auto-compiled tables detailing database models, field types, constraints, and relationships (Python mode)
- π Endpoint Mapping β Automated REST API documentation with HTTP methods, path parameters, and JSON responses (Python mode)
- π Markdown Export β Export documentation as clean Markdown, compatible with GitHub, GitLab, and VS Code
- π’ Publish & Share β Publish documentation publicly with shareable links and community comments
- π User Authentication β JWT-based auth with GitHub OAuth, email/password registration, password reset
- π± Fully Responsive β Mobile-first dark UI with slide-in sidebar navigation, works on phones, tablets, and desktops
| Layer | Technology |
|---|---|
| Frontend | React 19, Vite, TypeScript, Tailwind CSS, React Router |
| Backend | Django 5, Django REST Framework, Celery, Redis |
| Database | PostgreSQL |
| AI | Groq API (LLaMA) |
| Deployment | Vercel (frontend), AWS EC2 + RDS + ElastiCache (backend) |
docker-compose up --build -d- Frontend: http://localhost:5173
- Backend API: http://localhost:8000
- API Docs (Swagger): http://localhost:8080/api/docs/
- Parser API Docs: http://localhost:8080/parser/docs/
- AI API Docs: http://localhost:8080/ai/docs/
Backend:
cd backend
uv venv
uv run python manage.py migrate
uv run python manage.py runserverFrontend:
cd frondend
npm install
npm run dev1. Upload Code βββΆ 2. AST Parsing βββΆ 3. AI Generation βββΆ 4. Beautiful Docs
β β β β
.py / .zip Python AST Groq LLM Markdown + UI
GitHub repo extracts types writes docs preview + export
1. Upload Code βββΆ 2. AI Analysis βββΆ 3. Structured Docs
β β β
any language Groq LLM Tabbed README /
(.py/.js/.ts/...) analyzes code API / Architecture
graph LR
F["React Frontend<br/>:5173"]:::frontend
N["Nginx<br/>:8080"]:::gateway
D["Django Core<br/>:8000"]:::api
R[("Redis")]:::data
C["Celery<br/>Worker"]:::worker
P["FastAPI<br/>Parser :8002"]:::fastapi
A["FastAPI<br/>AI :8003"]:::fastapi
PG[("PostgreSQL")]:::data
G["Groq API"]:::ext
GH["GitHub"]:::ext
F -->|1. upload code| N
N -->|/api/parser/| D
D -->|2. create project| PG
D -->|3. dispatch task| R
R --> C
C -->|4. AST parse| P
C -->|5. generate docs| A
P -->|parsed data| D
A -->|docs| D
A -.->|embeddings| PG
D -->|6. store result| PG
D -->|7. return docs| F
F -->|8. publish| N
N -->|publish| D
D -->|update visibility| PG
D -.->|OAuth| GH
A -.->|AI| G
classDef frontend fill:#0f172a,stroke:#38bdf8,color:#f8fafc;
classDef gateway fill:#1e1b4b,stroke:#a78bfa,color:#eef2ff;
classDef api fill:#064e3b,stroke:#34d399,color:#ecfdf5;
classDef data fill:#7f1d1d,stroke:#f87171,color:#fef2f2;
classDef worker fill:#1e3a5f,stroke:#60a5fa,color:#bfdbfe;
classDef fastapi fill:#831843,stroke:#f472b6,color:#fdf2f8;
classDef ext fill:#1c1917,stroke:#a8a29e,color:#fafaf9;
PyDocAi/
βββ deploy/
β βββ nginx.conf # Reverse proxy config
βββ services/
β βββ core/ # Django monolith (API hub)
β β βββ apps/ # 13 Django apps
β β β βββ users/ # Auth (JWT, GitHub OAuth, password reset)
β β β βββ projects/ # Project CRUD, publish, sharing
β β β βββ parser/ # Python AST parsing orchestration
β β β βββ ai/ # AI doc generation orchestration
β β β βββ universal/ # Universal code analysis
β β β βββ github_integration/ # GitHub repo fetching
β β β βββ exports/ # Markdown export
β β β βββ comments/ # Public doc comments
β β β βββ feedback/ # User feedback & admin replies
β β β βββ admin_dashboard/ # Admin stats & management
β β β βββ notifications/ # Email notifications
β β β βββ common/ # Shared utilities, health check
β β β βββ internal/ # Inter-service communication
β β βββ config/ # Django settings (base/dev/prod)
β β βββ docker/ # Dockerfile + entrypoint.sh
β β βββ env/ # .env + .env.example
β β βββ seed/ # seed_admin.py
β β βββ templates/emails/ # HTML email templates
β β βββ requirements/ # Pip requirements
β β βββ manage.py
β βββ parser/ # FastAPI microservice (AST parsing)
β β βββ api/routes/ # file, folder, status, health
β β βββ ast_parser.py # Core AST logic
β β βββ framework_detector.py
β β βββ docker/Dockerfile
β β βββ main.py
β βββ ai/ # FastAPI microservice (AI generation)
β βββ api/routes/ # generate, status, health
β βββ services/ # groq, docs_builder, markdown, prompts
β βββ rag.py # RAG-based code embedding
β βββ docker/Dockerfile
β βββ main.py
βββ frondend/ # React 19 + Vite + Tailwind
β βββ src/
β βββ pages/ # 19 route pages
β β βββ Home, Login, Register, ForgotPassword, ResetPassword
β β βββ Dashboard, Input, InputPython, InputUniversal
β β βββ Output, Profile, GitHubCallback
β β βββ Published, PublicDoc
β β βββ FeedbackPage, MyFeedback
β β βββ AdminUsers, AdminProjects, AdminFeedback
β βββ components/ # 14 reusable UI components
β βββ hooks/ # useAuth
β βββ context/ # AuthContext
β βββ api/ # API client (index.js)
βββ docker-compose.yml
βββ docker-compose.prod.yml
βββ README.md
Full API reference with endpoint details, authentication, request/response examples, and error handling is available in API_DOCS.md.
Interactive Swagger UI (when running via Docker):
| Service | URL |
|---|---|
| Django Core API | http://localhost:8080/api/docs/ |
| Parser Service | http://localhost:8080/parser/docs/ |
| AI Service | http://localhost:8080/ai/docs/ |
| Variable | Description |
|---|---|
DJANGO_SECRET_KEY |
Django secret key |
DB_NAME, DB_USER, DB_PASSWORD |
PostgreSQL credentials |
DB_HOST, DB_PORT |
PostgreSQL host and port |
CELERY_BROKER_URL |
Redis URL for Celery broker |
GROQ_API_KEY |
Primary Groq AI API key |
GROQ_API_KEY_2 |
Secondary Groq AI API key (fallback) |
GITHUB_CLIENT_ID |
GitHub OAuth app client ID |
GITHUB_CLIENT_SECRET |
GitHub OAuth app secret |
GITHUB_API_TOKEN |
GitHub API token for repo fetching |
EMAIL_HOST, EMAIL_PORT |
SMTP server settings |
EMAIL_HOST_USER, EMAIL_HOST_PASSWORD |
SMTP credentials |
FRONTEND_URL |
Frontend origin for CORS |
CORS_ALLOWED_ORIGINS |
Allowed CORS origins |
AWS_ACCESS_KEY_ID |
AWS S3 access key (production) |
AWS_SECRET_ACCESS_KEY |
AWS S3 secret key (production) |
AWS_STORAGE_BUCKET_NAME |
S3 bucket name (production) |
| Variable | Description |
|---|---|
VITE_GITHUB_CLIENT_ID |
GitHub OAuth client ID for frontend login |
We welcome all contributions! See CONTRIBUTING.md for details.
Ways to help:
- π Report bugs via GitHub Issues
- π‘ Suggest features
- π§ Submit pull requests
- β Star the repo to show support
Distributed under the MIT License. See LICENSE for more information.