How fannyzf/notesbang works
NotesBang is a bilingual content-scoring and rewriting product. Users submit pasted or uploaded copy, receive an asynchronous platform-aware committee scorecard, then request a full rewrite or title/hook variants, export results, or share a scorecard. The map also includes authentication, billing, administration, and privacy-friendly traffic tracking. The README documents product capabilities beyond the sampled excerpts; links to those capabilities are included only where the tree provides a supporting module path.
Main entry points: main.py FastAPI app · routes_documents.py Document routes · base.py Application data · jobs.py Analysis task
Components 24
User experience
- Studio UI
frontend/app/studio/page.tsx - Admin console
frontend/app/admin/page.tsx - Share routes
backend/app/api/routes_share.py
Content workflow
- Document routes
backend/app/api/routes_documents.py - Upload parser
backend/app/parsers/text_parser.py - Job routes
backend/app/api/routes_jobs.py - Job runner
backend/app/workers/runner.py - Analysis task
backend/app/workers/jobs.py - Committee scoring
backend/app/content/scoring.py - Rubrics
backend/app/content/rubric.py - LLM gateway
backend/app/llm/gateway.py - Rewrite engine
backend/app/content/rewrite.py - Export writers
backend/app/exporters
Platform services
- FastAPI app
backend/app/main.py - Auth routes
backend/app/api/routes_auth.py - Billing routes
backend/app/api/routes_billing.py - Billing service
backend/app/services/billing.py - Payment gateway
backend/app/billing/gateway.py - Object storage
backend/app/services/storage.py - Application data
backend/app/db/base.py
Operations
- Admin routes
backend/app/api/routes_admin.py - Traffic tracking
backend/app/api/routes_track.py
Other components
- User
- Payment provider
Connections 30
- User → Studio UI: uses
- Studio UI → FastAPI app: calls API
- FastAPI app → Auth routes: dispatches
- FastAPI app → Document routes: dispatches
- FastAPI app → Job routes: dispatches
- FastAPI app → Billing routes: dispatches
- FastAPI app → Share routes: dispatches
- FastAPI app → Admin routes: dispatches
- FastAPI app → Traffic tracking: dispatches
- Document routes → Upload parser: parses uploads
- Document routes → Application data: stores documents
- Document routes → Job runner: enqueues analysis
- Job routes → Application data: reads job status
- Job runner → Analysis task: executes task
- Analysis task → Committee scoring: runs scoring
- Committee scoring → Rubrics: uses criteria
- Committee scoring → LLM gateway: requests judgments
- Analysis task → Application data: saves results
- Document routes → Rewrite engine: requests rewrite
- Rewrite engine → LLM gateway: generates variants
- Document routes → Export writers: builds export
- Document routes → Object storage: uses artifacts
- Share routes → Application data: reads and writes shares
- Billing routes → Billing service: settles charges
- Billing routes → Payment gateway: creates checkout
- Payment gateway → Payment provider: uses provider
- Billing service → Application data: updates wallet
- Admin console → FastAPI app: calls API
- Admin routes → Application data: reads and updates
- Traffic tracking → Application data: records views