Skip to content

KaveenDK/CareerTrack-Mobile-App

Repository files navigation

🚀 CareerTrack

CareerTrack is a smart mobile application designed to help job seekers organize and track their job applications efficiently. Built with React Native (Expo) and Firebase, it acts as your personal career assistant, ensuring you never lose track of an opportunity.

📱 Features

  • 🔐 User Authentication: Secure Sign Up, Login, and Logout functionality using Firebase Auth.
  • 📊 Smart Dashboard: Real-time analytics of your progress (Total Applied, Interviews, Offers, Rejections).
  • 📝 Job Management: Add, Edit, and Delete job applications easily.
  • 📸 Document Storage: Capture and upload photos of business cards or offer letters directly using the camera (Firebase Storage).
  • 🔎 Search & Filter: Instantly find applications by company name or filter by status (Applied, Interview, etc.).
  • 📧 One-Tap Follow Up: Auto-generates professional follow-up emails to hiring managers.
  • 📧Dark Mode: Fully supported Dark and Light themes based on user preference.
  • 🔔 Notifications: Ready-to-use setup for local push notifications.

🛠️ Tech Stack

  • Framework: React Native (Expo SDK 52)
  • Language: TypeScript
  • Styling: NativeWind (Tailwind CSS)
  • Backend: Firebase (BaaS)
    • Authentication
    • Cloud Firestore
    • Cloud Storage
  • Routing: Expo Router (File-based routing)
  • Icons: Expo Vector Icons (MaterialIcons)

📂 Project Structure

CareerTrack/
├── app/                 # Expo Router Screens
│   ├── (auth)/          # Login & Register screens
│   ├── (dashboard)/     # Main Tab Navigation (Home, Jobs, Profile)
│   └── index.tsx        # Entry redirect logic
├── components/          # Reusable UI components (Loaders, etc.)
├── constants/           # Colors, Styles, Theme config
├── context/             # React Context (Auth State)
├── hooks/               # Custom Hooks (useAuth, useJobs, useCamera)
├── services/            # Firebase API & Business Logic
├── utils/               # Helper functions (Date formatting, Email composer)
└── assets/              # Images and Fonts

🚀 Getting Started

Follow these instructions to set up the project locally.

Prerequisites

  • Node.js installed on your computer.
  • Expo Go app installed on your physical device (Android/iOS).

1. Clone the Repository

git clone [https://github.com/KaveenDK/CareerTrack.git](https://github.com/KaveenDK/CareerTrack.git)
cd CareerTrack

2. Install Dependencies

npm install

3. Firebase Configuration

This project requires a Firebase project.

  1. Go to the Firebase Console.
  2. Create a new project.
  3. Authentication: Enable Email/Password sign-in method.
  4. Firestore Database: Create a database in Test Mode. Select a location (e.g., us-central1).
  5. Storage: Enable Storage in Test Mode.
  6. Project Settings:
  • Go to Project Settings > General.
  • Create a "Web App".
  • Copy the firebaseConfig object.

4. Configure Environment

Open services/firebase.ts and replace the config with your own keys:

// services/firebase.ts

const firebaseConfig = {
  apiKey: "YOUR_API_KEY",
  authDomain: "YOUR_PROJECT_ID.firebaseapp.com",
  projectId: "YOUR_PROJECT_ID",
  storageBucket: "YOUR_PROJECT_ID.firebasestorage.app",
  messagingSenderId: "YOUR_SENDER_ID",
  appId: "YOUR_APP_ID",
};

5. Run the App

Start the development server:

npx expo start -c
  • Scan the QR code with your Android (Expo Go) or iOS (Camera app) device.
  • Note: For Camera and Notification features, testing on a Physical Device is recommended over a Simulator.

📸 Screenshots

Login Screen Dashboard Job Details
Login Dashboard Details

👤 Author

Dimantha Kaveen

  • GitHub: @KaveenDK
  • Role: Full Stack Developer

📄 License

This project is licensed under the MIT License.

About

A comprehensive job application tracker built with React Native, Expo, and Firebase. Features include real-time analytics, document scanning (Camera), automated email composition, and intelligent interview notifications.

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors