How jasujapratham/nudge works
Nudge is a reminder-and-alarm web app with optional Gemini-assisted reminder creation. Its main workflow is account sign-in, creating or editing a scheduled reminder, and receiving a browser alarm when it is due. The graph includes the documented reminder lifecycle, authentication, and AI branch. Backend service and controller relationships are based on sampled source; frontend wiring beyond the sampled app entry and alarm hook is shown only where supported by module roles. The database technology is not identified in the supplied evidence.
Main entry points: DashboardPage.jsx Reminder dashboard · client.js HTTP client · App.jsx Routes and access · useReminderAlarm.js Alarm scheduler
Components 30
Web app
- Routes and access
frontend/src/App.jsx - Sign-in and signup
frontend/src/pages/AuthPage.jsx - Session context
frontend/src/context/AuthContext.jsx - Reminder dashboard
frontend/src/pages/DashboardPage.jsx - Reminder controls
frontend/src/components/ReminderForm.jsx - Reminder display
frontend/src/components/ReminderCard.jsx - Alarm scheduler
frontend/src/hooks/useReminderAlarm.js - Time formatting
frontend/src/utils/reminderTime.js - AI reminder panel
frontend/src/components/AIReminderPanel.jsx - HTTP client
frontend/src/api/client.js - Auth requests
frontend/src/api/auth.js - Reminder requests
frontend/src/api/reminders.js - AI requests
frontend/src/api/ai.js - Browser alert services
- Browser local storage
Identity and security
- Auth endpoints
backend/src/main/java/com/nudge/controller/AuthController.java - Account service
backend/src/main/java/com/nudge/service/AuthService.java - JWT service
backend/src/main/java/com/nudge/security/JwtService.java - JWT request filter
backend/src/main/java/com/nudge/security/JwtAuthenticationFilter.java - User lookup
backend/src/main/java/com/nudge/security/NudgeUserDetailsService.java - User repository
backend/src/main/java/com/nudge/repository/UserRepository.java
Reminder management
- Reminder endpoints
backend/src/main/java/com/nudge/controller/ReminderController.java - Reminder operations
backend/src/main/java/com/nudge/service/ReminderService.java - Reminder repository
backend/src/main/java/com/nudge/repository/ReminderRepository.java - Reminder record
backend/src/main/java/com/nudge/entity/Reminder.java
AI assistance
- AI endpoint
backend/src/main/java/com/nudge/controller/AIController.java - Reminder parser
backend/src/main/java/com/nudge/service/AIService.java - Google Gemini
Other components
- User
- Application database
Connections 35
- User → Routes and access: uses
- Routes and access → Session context: checks session
- Routes and access → Sign-in and signup: routes to
- Routes and access → Reminder dashboard: routes to
- Sign-in and signup → Session context: submits credentials
- Session context → Auth requests: requests auth
- Auth requests → HTTP client: sends requests
- Reminder dashboard → Reminder requests: manages reminders
- Reminder dashboard → Reminder controls: renders controls
- Reminder dashboard → Reminder display: renders reminders
- Reminder dashboard → Alarm scheduler: checks due items
- Reminder dashboard → AI reminder panel: offers AI entry
- AI reminder panel → AI requests: requests parsing
- Reminder requests → HTTP client: sends requests
- AI requests → HTTP client: sends requests
- HTTP client → Auth endpoints: HTTP requests
- HTTP client → Reminder endpoints: HTTP requests
- HTTP client → AI endpoint: HTTP requests
- Alarm scheduler → Time formatting: converts due time
- Alarm scheduler → Browser local storage: reads and writes
- Alarm scheduler → Browser alert services: triggers alerts
- Auth endpoints → Account service: delegates auth
- Account service → User repository: reads and saves
- Account service → JWT service: creates token
- JWT request filter → JWT service: verifies token
- JWT request filter → User lookup: loads principal
- User lookup → User repository: finds account
- Reminder endpoints → Reminder operations: delegates operations
- Reminder operations → Reminder repository: reads and writes
- Reminder operations → User repository: loads owner
- Reminder repository → Reminder record: stores records
- User repository → Application database: persists accounts
- Reminder repository → Application database: persists reminders
- AI endpoint → Reminder parser: delegates parsing
- Reminder parser → Google Gemini: sends prompt