How ayus-10/project-ib works
This is a job-listing and application web app with user accounts, job discovery, favorites, applications, and admin job management. The intended workflow spans browsing jobs, favoriting or applying, and admins creating or managing listings; the sampled code confirms the API-side stages and authentication state flow. The UI-to-API wiring and several page/component implementations were not sampled, so those connections are not asserted. Prisma-backed persistence is shown as a shared store.
Main entry points: helpers.ts Request helpers · useAuthentication.ts Authentication hook · application/route.ts Applications · user/route.ts User registration
Components 28
Web experience
- Home and discovery
src/app/page.tsx - Job browsing
src/app/job/page.tsx - Admin management
src/app/admin/manage/page.tsx - Sign in
src/app/signin/page.tsx - Sign up
src/app/signup/page.tsx - Job cards
src/components/JobCard.tsx - Job form
src/components/JobForm.tsx - User form
src/components/UserForm.tsx
Identity
- Authentication hook
src/hooks/useAuthentication.ts - Get user request
src/requests/getAuthenticatedUser.ts - Refresh request
src/requests/refreshTokens.ts - User registration
src/app/api/user/route.ts - Login and profile
src/app/api/auth/route.ts - Token refresh
src/app/api/auth/refresh/route.ts - Logout
src/app/api/auth/logout/route.ts - Logout request
src/requests/logoutUser.ts
Job workflows
- Job management
src/app/api/job/route.ts - Browse listings
src/app/api/job/all/route.ts - Admin listings
src/app/api/job/created/route.ts - Favorite listings
src/app/api/favorite/route.ts - Favorite listing view
src/app/api/job/favorites/route.ts - Applications
src/app/api/application/route.ts
API support
- Request helpers
src/app/api/helpers.ts - Detail validation
src/utils/detailsValidation.ts - HTTP responses
src/utils/httpResponses.ts - Auth state
src/redux/slices/authenticatedUserSlice.ts
Other components
- Visitor
- Application database
Connections 26
- Visitor → Home and discovery: visits
- Visitor → Job browsing: browses
- Visitor → Sign in: signs in
- Visitor → Sign up: registers
- Visitor → Admin management: manages listings
- Authentication hook → Get user request: requests profile
- Authentication hook → Refresh request: refreshes after failure
- Authentication hook → Auth state: updates state
- User registration → Application database: creates user
- Login and profile → Application database: reads user
- Job management → Application database: reads and writes jobs
- Browse listings → Application database: reads jobs and favorites
- Admin listings → Application database: reads jobs
- Favorite listings → Application database: writes favorites
- Favorite listing view → Application database: reads jobs
- Applications → Application database: reads and writes applications
- Job management → Request helpers: uses request helpers
- Browse listings → Request helpers: reads page parameter
- Admin listings → Request helpers: reads user identity
- Favorite listings → Request helpers: reads request identity
- Favorite listing view → Request helpers: reads request parameters
- Applications → Request helpers: reads request identity
- Login and profile → Request helpers: gets token secrets
- User registration → Request helpers: gets token secrets
- Token refresh → Request helpers: gets token secrets
- Applications → Detail validation: validates application