How seanprashad/leetcode-patterns works
Leetcode Patterns is a browser-based coding-interview practice app: users browse questions organized by patterns, track completion and review progress, and can follow structured roadmaps. The main page assembles the practice views and learning panels. Local persistence and optional signed-in synchronization support progress across sessions and devices. The README also documents fundamentals and Java solutions, but these are reference material rather than runtime subsystems in this tree. Several component implementations were not sampled, so uncertain internal wiring is omitted.
Main entry points: page.tsx Home page · RoadmapView.tsx Roadmap view · AuthContext.tsx Auth context · ViewSwitcher.tsx View switcher
Components 23
Practice experience
- Home page
src/app/page.tsx - View switcher
src/components/layout/ViewSwitcher.tsx - Question table
src/components/questions/QuestionsTable.tsx - Question filters
src/components/questions/FilterToolbar.tsx - Question actions
src/components/questions/QuestionRow.tsx - Review date
src/components/questions/ReviewDateModal.tsx
Learning resources
- Roadmap view
src/components/roadmaps/RoadmapView.tsx - Roadmap content
src/data/roadmaps.ts - Practice tips
src/components/panels/TipsPanel.tsx - About panel
src/components/panels/AboutPanel.tsx - Acknowledgements
src/components/panels/AcknowledgementsPanel.tsx
Progress and state
- Browser progress
src/lib/storage.ts - Reminder logic
src/lib/reminders.ts
External integrations
- Auth context
src/components/layout/AuthContext.tsx - Progress sync
src/lib/sync.ts - Supabase client
src/lib/supabase.ts - Analytics
src/lib/analytics.ts - Service worker registration
src/components/layout/ServiceWorkerRegistrar.tsx - Offline cache
public/sw.js - Question metadata updater
cron/update_questions.py
Other components
- Learner
- Supabase
- LeetCode API
Connections 22
- Learner → Home page: opens
- Home page → View switcher: renders
- Home page → Practice tips: renders
- Home page → About panel: renders
- Home page → Acknowledgements: renders
- View switcher → Question table: selects view
- Question table → Question filters: filters questions
- Question table → Question actions: renders rows
- Question actions → Review date: opens
- View switcher → Roadmap view: selects view
- Roadmap view → Roadmap content: reads phases
- Question actions → Browser progress: persists progress
- Roadmap view → Browser progress: loads and saves
- Roadmap view → Reminder logic: initializes reminders
- Review date → Reminder logic: uses date helpers
- Auth context → Supabase client: uses
- Auth context → Progress sync: coordinates sync
- Progress sync → Browser progress: merges progress
- Progress sync → Supabase: reads and writes
- Auth context → Analytics: tracks events
- Question metadata updater → LeetCode API: fetches metadata
- Service worker registration → Offline cache: registers