How kingkuys2123/lifewood works
Lifewood is a branded company website and internship recruitment portal. Public visitors browse company and service information, submit applications or contact messages; administrators and users sign in to manage applicants, accounts, profiles, dashboard data, and notifications. The sampled code shows application requests handled by backend controllers and services, plus applicant decision emails and the frontend’s token-refresh behavior. README-listed capabilities such as password recovery and real-time notifications are included, but their full wiring was not sampled.
Main entry points: App.jsx App Routes · ApplicantService.java Applicant Workflow · NotificationService.java Notification Service · ApplyForm.jsx Application Form
Components 25
Public Website
- Public Pages
frontend/src/pages/landing-page - Application Form
frontend/src/components/apply/ApplyForm.jsx - Contact Form
frontend/src/components/contact-us/ContactForm.jsx
Portal Experience
- App Routes
frontend/src/App.jsx - Login
frontend/src/pages/auth/LoginPage.jsx - Admin Dashboard
frontend/src/pages/dashboard/DashboardPage.jsx - Applicant Management
frontend/src/pages/applicants/ApplicantsPage.jsx - Profile Management
frontend/src/pages/profile/ProfileEditPage.jsx - User Management
frontend/src/pages/users/UsersPage.jsx - HTTP Client
frontend/src/services/api/httpClient.js - Notification Client
frontend/src/hooks/useNotifications.js - Notification Socket
frontend/src/services/websocket/notificationSocket.js
Recruitment Backend
- Applicant API
backend/src/main/java/com/lifewood/lifewood/controller/ApplicantController.java - Applicant Workflow
backend/src/main/java/com/lifewood/lifewood/service/ApplicantService.java - Applicant Records
backend/src/main/java/com/lifewood/lifewood/repository/ApplicantRepository.java
Identity and Users
- Authentication
backend/src/main/java/com/lifewood/lifewood/service/AuthService.java - User Management API
backend/src/main/java/com/lifewood/lifewood/service/UserService.java - User Records
backend/src/main/java/com/lifewood/lifewood/repository/UserRepository.java
Notifications and Messaging
- Notification API
backend/src/main/java/com/lifewood/lifewood/controller/NotificationController.java - Notification Service
backend/src/main/java/com/lifewood/lifewood/service/NotificationService.java - Notification Records
backend/src/main/java/com/lifewood/lifewood/repository/NotificationRepository.java - Email Delivery
backend/src/main/java/com/lifewood/lifewood/service/EmailService.java
Other components
- Visitor
- EmailJS
- MySQL
Connections 24
- Visitor → Public Pages: browses
- Visitor → Application Form: submits application
- Visitor → Contact Form: sends inquiry
- App Routes → Public Pages: routes to
frontend/src/App.jsx - App Routes → Login: routes to
frontend/src/App.jsx - App Routes → Admin Dashboard: routes to
frontend/src/App.jsx - App Routes → Applicant Management: routes to
frontend/src/App.jsx - App Routes → Profile Management: routes to
frontend/src/App.jsx - App Routes → User Management: routes to
frontend/src/App.jsx - Application Form → Applicant API: submits to
- Applicant API → Applicant Workflow: invokes
backend/src/main/java/com/lifewood/lifewood/controller/ApplicantController.java - Applicant Workflow → Applicant Records: reads and writes
backend/src/main/java/com/lifewood/lifewood/service/ApplicantService.java - Applicant Workflow → Email Delivery: sends decisions
backend/src/main/java/com/lifewood/lifewood/service/ApplicantService.java - Login → HTTP Client: uses API
- HTTP Client → Authentication: refreshes tokens
frontend/src/services/api/httpClient.js - Authentication → User Records: looks up users
backend/src/main/java/com/lifewood/lifewood/service/AuthService.java - Applicant Workflow → Notification Service: creates decisions
backend/src/main/java/com/lifewood/lifewood/service/ApplicantService.java - Notification API → Notification Service: invokes
backend/src/main/java/com/lifewood/lifewood/controller/NotificationController.java - Notification Service → Notification Records: reads and writes
backend/src/main/java/com/lifewood/lifewood/service/NotificationService.java - Notification Client → Notification Socket: uses
frontend/src/hooks/useNotifications.js - Email Delivery → EmailJS: sends email
backend/src/main/java/com/lifewood/lifewood/service/EmailService.java - Applicant Records → MySQL: persists in
- User Records → MySQL: persists in
- Notification Records → MySQL: persists in