How algojogacor/kontrakpaham works
KontrakPaham is an Indonesian contract-analysis web app. Users submit contract text or PDF/DOCX files, receive AI-generated risk findings and advice, then can review saved analyses; the tree also exposes account, licensing, chat, negotiation, export, sharing, insights, legal-reference, and provider-management features. The main submission route explicitly parses and validates documents, checks cache and quota, invokes analysis, and persists results. Other feature paths are present in the tree, but their internal wiring was not sampled.
Main entry points: analyze/route.ts Analysis submission API · db.ts Application database · auth.ts Session and identity · analyses/route.ts Analysis history API
Components 29
User experience
- Analysis and results
src/components/app/views/analyze-view.tsx - Result view
src/components/app/views/result-view.tsx - Analysis history API
src/app/api/analyses/route.ts - Analysis detail API
src/app/api/analyses/[id]/route.ts - Insights API
src/app/api/insights/route.ts - Analysis chat API
src/app/api/analyses/[id]/chat/route.ts - Negotiation API
src/app/api/analyses/[id]/negotiate/route.ts - Analysis export API
src/app/api/analyses/[id]/export/route.ts - Analysis sharing API
src/app/api/analyses/[id]/share/route.ts
Contract analysis
- Analysis submission API
src/app/api/analyze/route.ts - Document extraction
src/lib/documents.ts - Text validation
src/lib/validation.ts - Contract analysis
src/lib/analyze.ts - Analysis cache
src/lib/analysis-cache.ts - LLM providers
src/lib/llm.ts
Accounts and plans
- Authentication APIs
src/app/api/auth/signin/route.ts - Session and identity
src/lib/auth.ts - Quota API
src/app/api/quota/route.ts - Plan and quota rules
src/lib/quota.ts - License redemption
src/app/api/license/redeem/route.ts
Legal knowledge
- Legal reference view
src/components/app/views/legal-view.tsx - Legal content
src/lib/legal-content.ts - Legal corpus
src/lib/legal-corpus.ts
Administration
- Admin view
src/components/app/views/admin-view.tsx - Provider management API
src/app/api/admin/llm-providers/route.ts - License management API
src/app/api/admin/licenses/route.ts - User administration API
src/app/api/admin/users/route.ts
Other components
- Contract user
- Application database
src/lib/db.ts
Connections 44
- Contract user → Analysis and results: submits contract
- Analysis and results → Analysis submission API: requests analysis
- Analysis submission API → Session and identity: checks session
- Analysis submission API → Document extraction: extracts file text
- Analysis submission API → Text validation: validates text
- Analysis submission API → Analysis cache: checks and clones cache
- Analysis submission API → Plan and quota rules: consumes quota
- Analysis submission API → Contract analysis: runs analysis
- Analysis submission API → Application database: reads and saves analyses
- Analysis submission API → Analysis and results: returns result
- Analysis and results → Result view: shows findings
- Contract user → Analysis history API: requests history
- Analysis history API → Session and identity: checks session
- Analysis history API → Application database: reads analyses
- Analysis history API → Plan and quota rules: reads quota
- Contract user → Analysis detail API: opens analysis
- Analysis detail API → Session and identity: checks session
- Analysis detail API → Application database: reads or deletes analysis
- Contract user → Insights API: requests insights
- Insights API → Application database: aggregates analyses
- Contract user → Analysis chat API: asks about analysis
- Contract user → Negotiation API: requests negotiation advice
- Contract user → Analysis export API: exports analysis
- Contract user → Analysis sharing API: shares analysis
- Contract user → Authentication APIs: signs in
- Authentication APIs → Application database: reads or creates user
- Authentication APIs → Session and identity: verifies and creates session
- Contract user → Quota API: checks quota
- Quota API → Session and identity: checks session
- Quota API → Plan and quota rules: gets plan and quota
- Plan and quota rules → Application database: reads and updates quota
- Contract user → License redemption: redeems code
- License redemption → Application database: updates license and plan
- Contract user → Legal reference view: browses legal references
- Legal reference view → Legal content: loads content
- Legal content → Legal corpus: uses corpus
- Contract user → Admin view: manages service
- Admin view → Provider management API: configures providers
- Admin view → License management API: manages licenses
- Admin view → User administration API: reviews users
- Provider management API → Application database: reads and writes providers
- Provider management API → LLM providers: invalidates provider cache
- License management API → Application database: reads and creates licenses
- User administration API → Application database: reads users and usage