How prohussain/careercompass-ai works
Career Compass is an Android career-guidance app: users create or sign into an account, complete an education and experience profile, answer a career interview, and receive ranked Gemini recommendations with fit details and deeper analysis. The main activity hosts the app’s home, career, notification, and profile areas; profile data is backed by Firebase. The README also documents AI follow-up career chat. Sampled source shows the interview-to-results handoff and Gemini calls; ViewModel and backend implementation details were not sampled, so their internal wiring is left unspecified.
Main entry points: MainActivity.java Main navigation · CareerFragment.java Career interview · ResultActivity.java Career recommendations · CompleteProfileFragment.java Profile completion
Components 21
App entry
- Onboarding
app/src/main/java/com/hashmac/careercompass/ui/onboard/activity/OnBoardActivity.java - Main navigation
app/src/main/java/com/hashmac/careercompass/ui/main/activity/MainActivity.java
Account and profile
- Authentication flow
app/src/main/java/com/hashmac/careercompass/ui/auth/activity/AuthenticationActivity.java - Login
app/src/main/java/com/hashmac/careercompass/ui/auth/fragments/login/LoginFragment.java - Registration
app/src/main/java/com/hashmac/careercompass/ui/auth/fragments/register/RegisterFragment.java - Profile completion
app/src/main/java/com/hashmac/careercompass/ui/auth/fragments/complete_profile/CompleteProfileFragment.java - User profile
app/src/main/java/com/hashmac/careercompass/beans/user/User.java
Career guidance
- Career interview
app/src/main/java/com/hashmac/careercompass/ui/main/fragments/career/CareerFragment.java - Chat messages
app/src/main/java/com/hashmac/careercompass/beans/chat/Chat.java - Career recommendations
app/src/main/java/com/hashmac/careercompass/ui/result/ResultActivity.java - Ranked career paths
app/src/main/java/com/hashmac/careercompass/beans/result/CareerPaths.java - Career path details
app/src/main/java/com/hashmac/careercompass/beans/result/CareerPath.java - Prompt definitions
app/src/main/java/com/hashmac/careercompass/utils/Constants.java
Main app features
- Home
app/src/main/java/com/hashmac/careercompass/ui/main/fragments/home/HomeFragment.java - Notifications
app/src/main/java/com/hashmac/careercompass/ui/main/fragments/notifications/NotificationFragment.java - Notification data
app/src/main/java/com/hashmac/careercompass/beans/Notification.java - Profile and logout
app/src/main/java/com/hashmac/careercompass/ui/main/fragments/profile/ProfileFragment.java
External services
- Firebase Auth
- Firestore
- Google Gemini
Other components
- User
Connections 32
- User → Onboarding: opens app
- Onboarding → Main navigation: resumes session
- Onboarding → Authentication flow: starts onboarding
- User → Authentication flow: chooses account
- Authentication flow → Login: hosts
- Authentication flow → Registration: hosts
- Login → Firebase Auth: authenticates
- Registration → Firebase Auth: creates account
- Registration → Profile completion: continues to
- Login → Profile completion: routes incomplete profile
- Profile completion → Firestore: stores profile
- Profile completion → User profile: forms profile
- Login → Main navigation: opens after login
- Profile completion → Main navigation: opens after completion
- Main navigation → Home: hosts navigation
- Main navigation → Career interview: hosts navigation
- Main navigation → Notifications: hosts navigation
- Main navigation → Profile and logout: hosts navigation
- User → Career interview: answers interview
- Career interview → Chat messages: updates messages
- Career interview → User profile: reads profile
- Career interview → Prompt definitions: builds prompt
- Career interview → Career recommendations: opens with prompt
- Home → Career recommendations: requests analysis
- Career recommendations → Google Gemini: generates recommendations
- Career recommendations → Ranked career paths: parses response
- Ranked career paths → Career path details: contains ranked paths
- Career recommendations → Prompt definitions: builds detail prompt
- Career recommendations → Google Gemini: requests path analysis
- Profile and logout → Firestore: loads profile
- Profile and logout → Firebase Auth: logs out
- Notifications → Notification data: displays items