How denel91/law-flashcards works
Flashcards Giuridiche is a web app for studying law by subject. Learners choose one of three study areas, review and navigate interactive question-and-answer cards, and can create, edit, or delete cards; study outcomes feed area and global progress statistics. Search, filters, and optional spaced repetition are documented capabilities. The service layer connects card and statistics operations to Supabase. The map uses the README and sampled sources; some capabilities and route wiring are documented but not fully visible in the excerpts.
Main entry points: page.js Area study · flashcardService.js Flashcard service · Flashcard.jsx Flashcard interaction · FlashcardForm.jsx Card editor
Components 14
Study workflow
- Area study
src/app/area/[id]/page.js - Flashcard interaction
src/components/Flashcard.jsx - Card editor
src/components/FlashcardForm.jsx - Search and filters
src/lib/flashcardService.js - Spaced repetition
src/app/area/[id]/page.js
Progress and review
- Area statistics
src/components/AreaStats.jsx - Global statistics view
src/components/GlobalStatsClient.jsx
Data access
- Flashcard service
src/lib/flashcardService.js - Browser client
src/utils/supabase/client.js
Site pages
- Study dashboard
src/app/page.js - Global stats route
src/app/global-stats/page.jsx - Contacts page
src/app/contacts/page.jsx
Other components
- Learner
- Supabase
Connections 19
- Learner → Study dashboard: opens
- Study dashboard → Flashcard service: counts cards
- Learner → Area study: chooses area
- Area study → Flashcard service: loads and changes cards
- Area study → Flashcard interaction: displays cards
- Flashcard interaction → Area study: sends actions
- Area study → Card editor: opens editor
- Card editor → Area study: submits card
- Area study → Search and filters: searches and filters
- Area study → Spaced repetition: prioritizes review
- Area study → Flashcard service: records study results
- Area study → Area statistics: passes area metrics
- Learner → Global stats route: opens
- Global stats route → Global statistics view: renders
- Global statistics view → Flashcard service: requests global stats
- Flashcard service → Flashcard service: aggregates area stats
- Flashcard service → Browser client: creates client
- Browser client → Supabase: queries data
- Learner → Contacts page: opens