How fudgeejane/applora works
Applora is a job-search workspace with a React frontend and an Express/MongoDB authentication backend. The evidenced runtime flow is browser navigation through route guards into account pages; authentication requests use the shared API client, reach the auth routes and controller, and persist user state. Verification emails are generated and sent through a separate email service. The README describes application tracking, resume management, interview scheduling, and AI career assistance, but the sampled code does not establish backend data flows for those product areas; those capabilities are shown as frontend areas, not as persisted services.
Main entry points: PrivateLayout.jsx Private workspace · AppRoutes.jsx Route map · authController.js Auth workflows · authRoutes.js Auth endpoints
Components 29
Web application
- Route map
src/routes/AppRoutes.jsx - Public pages
src/pages/public - Application tracker
src/pages/app/HomePage.jsx - Resume manager
src/pages/app/ResumePage.jsx - Interview planner
src/pages/app/InterviewsPage.jsx - AI career assistant
src/pages/app/ChatBotPage.jsx - Workspace tools
src/pages/app/SettingsPage.jsx - Help center
src/pages/app/HelpCenterPage.jsx - Private workspace
src/layouts/PrivateLayout.jsx
Account experience
- Verification and profile
src/pages/auth - Sign-in and signup
src/pages/public - Route guards
src/components/auth/RouteGuards.jsx - Session context
src/contexts/AuthContext.jsx - API client
src/lib/api.js
Authentication service
- Auth endpoints
server/src/routes/authRoutes.js - Auth workflows
server/src/controllers/authController.js - User records
server/src/models/User.js - JWT protection
server/src/middleware/authMiddleware.js - OTP generation
server/src/utils/generateOTP.js - Email delivery
server/src/services/emailServices.js - Verification template
server/src/emails/VerificationEmail.js - Database connection
server/src/config/db.js - Express server
server/src/server.js
Shared presentation
- Dashboard components
src/components/dashboard/DashboardUI.jsx - Theme styles
src/components/ui/Style.jsx - Theme state
src/components/ui/DarkModeProvider.jsx
Other components
- Job seeker
- MongoDB
- Email provider
Connections 33
- Job seeker → Route map: uses
- Route map → Public pages: routes to
src/routes/AppRoutes.jsx - Route map → Sign-in and signup: routes to
src/routes/AppRoutes.jsx - Route map → Verification and profile: routes to
src/routes/AppRoutes.jsx - Route map → Private workspace: wraps pages
src/routes/AppRoutes.jsx - Private workspace → Application tracker: renders
- Private workspace → Resume manager: renders
- Private workspace → Interview planner: renders
- Private workspace → AI career assistant: renders
- Private workspace → Workspace tools: renders
- Private workspace → Help center: renders
- Application tracker → Dashboard components: renders with
src/pages/app/HomePage.jsx - Application tracker → Theme styles: uses styles
src/pages/app/HomePage.jsx - Route guards → Session context: checks session
src/components/auth/RouteGuards.jsx - Route map → Route guards: protects routes
src/routes/AppRoutes.jsx - Sign-in and signup → API client: sends requests
src/pages/public/SignInPage.jsx - Verification and profile → API client: sends requests
src/pages/auth/VerifyEmail.jsx - Session context → API client: checks session
src/contexts/AuthContext.jsx - API client → Auth endpoints: calls API
- Express server → Auth endpoints: mounts routes
server/src/server.js - Auth endpoints → Auth workflows: dispatches handlers
server/src/routes/authRoutes.js - Auth endpoints → JWT protection: protects endpoints
server/src/routes/authRoutes.js - Auth workflows → User records: reads and writes
server/src/controllers/authController.js - JWT protection → User records: loads user
server/src/middleware/authMiddleware.js - Auth workflows → OTP generation: generates codes
server/src/controllers/authController.js - Auth workflows → Email delivery: sends verification
server/src/controllers/authController.js - Email delivery → Verification template: renders
server/src/services/emailServices.js - Email delivery → Email provider: sends email
server/src/services/emailServices.js - Express server → Database connection: connects database
server/src/server.js - Database connection → MongoDB: connects
- Theme styles → Theme state: reads theme
src/components/ui/Style.jsx - Private workspace → Theme styles: uses styles
src/layouts/PrivateLayout.jsx - Private workspace → Theme state: uses theme
src/layouts/PrivateLayout.jsx