How anzar-g/verilex works
VeriLex is a reference and learning platform for Latin legal maxims. Its main workflow is to search and filter the maxim catalogue, open an article for detailed legal context, then optionally save or study it. Separate branches support quizzes, user progress, discussion, and editorial contributions with reviewer approval. The README documents additional features such as flashcards, favorites, and text-to-speech; those are represented where the repository tree supports a relevant page or module. Source excerpts are partial, so some subsystem wiring is not shown.
Main entry points: [id]/route.ts Maxim Detail API · SearchPageClient.tsx Search and Index · MaximDetailClient.tsx Maxim Detail · quiz/route.ts Quiz API
Components 24
Maxim Reference
- Homepage
src/app/page.tsx - Search and Index
src/app/cari/SearchPageClient.tsx - Legal Fields
src/app/api/legal-fields/route.ts - Maxim Catalogue API
src/app/api/maxims/route.ts - Maxim Detail
src/app/maksim/[id]/MaximDetailClient.tsx - Maxim Detail API
src/app/api/maxims/[id]/route.ts - Article Discussions
src/app/api/discussions/route.ts
Learning
- Flashcards
src/app/flashcard/FlashcardClient.tsx - Quiz Experience
src/app/quiz/QuizClient.tsx - Quiz API
src/app/api/quiz/route.ts
User Accounts
- Personal Dashboard
src/app/dashboard/DashboardClient.tsx - Favorites
src/app/favorit/FavoritClient.tsx - Authentication
src/components/auth/AuthProvider.tsx - User State
src/lib/useStore.ts
Editorial Governance
- Content Reports
src/app/api/reports/route.ts - Contribution Workspace
src/app/kontribusi/ContributionsClient.tsx - Proposal API
src/app/api/proposals/route.ts - Reviewer Dashboard
src/app/reviewer/ReviewerDashboardClient.tsx - Proposal Review API
src/app/api/proposals/[id]/route.ts - Revision History
src/components/edit/RevisionHistory.tsx
Data Services
- Supabase
- API Authentication
src/lib/api-auth.ts - API Fetch
src/lib/api-fetch.ts
Other components
- Reader
Connections 31
- Reader → Homepage: opens platform
- Reader → Search and Index: searches maxims
- Search and Index → Maxim Catalogue API: requests filtered catalogue
- Search and Index → Legal Fields: loads field filters
- Search and Index → Maxim Detail: opens maxim
- Maxim Detail → Maxim Detail API: loads article
- Maxim Detail API → Supabase: reads maxim
- Maxim Catalogue API → Supabase: queries catalogue
- Legal Fields → Supabase: counts fields
- Maxim Detail → Article Discussions: loads or posts discussion
- Maxim Detail → Content Reports: submits report
- Reader → Flashcards: studies maxims
- Flashcards → Maxim Catalogue API: loads study catalogue
- Reader → Quiz Experience: takes quiz
- Quiz Experience → Quiz API: requests questions and submits answers
- Quiz API → API Authentication: checks actor
- Quiz API → Supabase: reads questions and saves attempts
- Reader → Authentication: registers or signs in
- Authentication → Supabase: authenticates user
- Personal Dashboard → User State: reads user state
- Favorites → User State: updates favorites
- Reader → Contribution Workspace: submits edit
- Contribution Workspace → Proposal API: creates proposal
- Proposal API → API Authentication: checks contributor role
- Proposal API → Supabase: stores proposal
- Reviewer Dashboard → API Fetch: fetches review queue
- Reviewer Dashboard → Proposal Review API: updates proposal status
- Proposal Review API → Supabase: reviews proposal
- Proposal Review API → Maxim Detail API: applies approved edits
- Maxim Detail API → Supabase: records revision and updates maxim
- Revision History → Maxim Detail API: uses revision endpoints