Skip to content

HannaInIT/job-compass

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

743 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

JobCompass

Master navigating the sea of irrelevant jobs with JobCompass

πŸš€ Live Demo

🌐 Open JobCompass Application:

🎬 Watch Feature Demo Video:

See JobCompass in action! This video walkthrough demonstrates all key features, from guest mode to personalized job matching.

🎯 Problem & Solution

The Problem

While there are numerous job search platforms available, even the most popular ones like LinkedIn have significant limitations:

  • Promoted jobs clutter - Too many sponsored listings obscure relevant positions
  • No skill matching metrics - Unclear whether a job matches your specific skills
  • Limited sorting options - Can't sort by commute distance, skill relevance, or transfer convenience
  • Poor location intelligence - No built-in commute calculations or transfer information
  • Generic experience - One-size-fits-all approach without personalization

Our Solution

JobCompass addresses these pain points by providing:

  • Smart skill matching - See exactly which of your skills match each job posting
  • Intelligent sorting - Sort by skill matches, commute time, transfer count, or posting date
  • Commute intelligence - Real-time travel calculations with Google Maps integration
  • Guest mode - Try the platform without signup barriers
  • Personalized experience - Tailored job recommendations based on your profile

πŸ‘₯ Who This Is For

  • Job seekers who want more intelligent job matching
  • Professionals looking to optimize their commute
  • Career changers who need clear skill gap analysis
  • Busy professionals who want pre-filtered, relevant opportunities

πŸ“Š Success Metrics

  • Relevance score - Higher percentage of skill-matched positions
  • Time saved - Reduced time from search to application
  • Commute optimization - Better work-life balance through location intelligence
  • User engagement - Increased time spent on relevant job listings

✨ Key Features

For Guest Users

  • πŸ” Job Search - Search and browse open positions without account
  • ⚑ Smart Matching - See skill matches with default profile
  • πŸ—ΊοΈ Commute Preview - Basic travel time calculations
  • πŸ“± Try Before Signup - Full preview mode to test functionality

For Registered Users

  • πŸ‘€ Personal Profile - Custom skills, address, and avatar
  • ❀️ Save Favorites - Bookmark jobs for later review
  • 🎯 Personalized Results - Job matching based on your actual skills
  • πŸš€ Direct Application - Apply to jobs through original postings
  • πŸ” Account Management - Password reset via email, profile deletion

Smart Features

  • πŸ“ˆ Skill Matching - Visual indicators showing skill alignment
  • πŸšƒ Commute Calculator - Travel time and transfer count for each job
  • πŸ”„ Intelligent Sorting - Multiple sorting options (skills, commute, date)
  • πŸŽ›οΈ Advanced Filters - Job type, work mode, experience level
  • πŸ“§ Email Recovery - Secure password reset functionality

πŸ› οΈ Tech Stack

Frontend

  • React 19 - UI library
  • Vite - Build tool and dev server
  • React Router DOM - Client-side routing
  • Lucide React - Icon library
  • Deployed on Netlify - https://job-compass-app.netlify.app/

Backend

  • Node.js (>=24.0.0) - Runtime environment
  • Express.js - Web framework
  • PostgreSQL (Neon DB) - Database
  • Firebase Admin - File storage and authentication
  • JWT - Token-based authentication
  • bcrypt - Password hashing
  • Nodemailer - Email service
  • Multer - File upload handling
  • Google Maps API - Commute calculations
  • Deployed on Render - https://job-compass-o40i.onrender.com

Current Configuration

  • Job Search: Currently using local job dataset for demonstration (real LinkedIn API integration available but requires paid API keys)
  • Database: PostgreSQL hosted on Neon
  • File Storage: Firebase for avatar uploads
  • Email Service: SMTP for password reset functionality

DevOps & Tools

  • Husky - Git hooks
  • ESLint - Code linting
  • Prettier - Code formatting
  • Concurrently - Run multiple commands

πŸ“ Project Structure

job-compass/
β”œβ”€β”€ client/                 # React frontend application
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ components/    # Reusable React components
β”‚   β”‚   β”œβ”€β”€ pages/         # Page components
β”‚   β”‚   β”œβ”€β”€ context/       # React Context providers
β”‚   β”‚   β”œβ”€β”€ hooks/         # Custom React hooks
β”‚   β”‚   β”œβ”€β”€ util/          # Utility functions
β”‚   β”‚   └── assets/        # Static assets
β”‚   └── package.json
β”œβ”€β”€ server/                 # Express backend application
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ controllers/   # Route controllers
β”‚   β”‚   β”œβ”€β”€ routes/        # API routes
β”‚   β”‚   β”œβ”€β”€ middleware/    # Express middleware
β”‚   β”‚   β”œβ”€β”€ services/      # Business logic services
β”‚   β”‚   β”œβ”€β”€ db/            # Database configuration
β”‚   β”‚   β”œβ”€β”€ config/        # Configuration files
β”‚   β”‚   β”œβ”€β”€ data/          # Data files
β”‚   β”‚   └── util/          # Utility functions
β”‚   └── package.json
β”œβ”€β”€ .github/               # GitHub workflows
β”œβ”€β”€ .husky/                # Git hooks
└── package.json           # Root package.json with workspace scripts

πŸš€ Getting Started

Prerequisites

  • Node.js >= 24.0.0
  • npm (comes with Node.js)
  • PostgreSQL database (Neon DB recommended)
  • Firebase Firebase service account (as JSON string)
  • SMTP credentials
  • LinkedIn Job Search RapidAPI key
  • Google Maps API key for commute calculations

Installation

  1. Clone the repository

    git clone https://github.com/HannaInIT/job-compass.git
    cd job-compass
  2. Install dependencies

    npm run setup

    This will install dependencies for both client and server.

  3. Set up environment variables

    In client and server directories, copy and rename the .env.example files into .env. Set all environmental variables.

  4. Run the development servers

    npm run dev

    This will start both the client (Vite dev server) and server (Express with nodemon) concurrently.

πŸ“œ Available Root Level Scripts

  • npm run dev - Start both client and server in development mode
  • npm run start - Start the production server
  • npm run build - Build the client for production
  • npm run setup - Install dependencies for both client and server

🚒 Deployment

The project is deployed using modern cloud platforms:

  • Frontend: Netlify - Automatic deployment from GitHub
  • Backend: Render - Containerized Node.js application
  • Database: Neon PostgreSQL - Serverless database
  • Storage: Firebase - File and avatar storage

Architecture

Frontend (Netlify) ↔ Backend (Render) ↔ Database (Neon)
                                     ↔ Storage (Firebase)
                                     ↔ Google Maps API

πŸƒβ€β™‚οΈ Quick Start

Try the Live Application

Visit https://job-compass-app.netlify.app/ to experience JobCompass immediately.

Guest Mode Demo:

  1. Search for "Frontend developer" or any tech role
  2. Explore skill matching and commute calculations
  3. Try sorting and filtering options
  4. Experience the seamless user interface

Full Experience:

  1. Create an account or login
  2. Customize your profile (skills, address, avatar)
  3. Save jobs to favorites
  4. Get personalized job recommendations

πŸ“– Project Origin

This project was originally created as a group project by three developers:

πŸ”„ Current Development

The project is currently maintained and further developed by Hanna Dubyna as an individual portfolio piece, featuring enhanced functionality and deployment optimizations.

πŸ“„ License

ISC

πŸ™ Acknowledgments

  • Originally developed as part of HackYourFuture curriculum
  • Enhanced and maintained as an individual portfolio project
  • Special thanks to the original team members and HYF mentors
  • Thanks to all the APIs and services that make this platform possible

About

Your personal navigator in the job market. JobCompass streamlines job hunting by matching your expertise with relevant openings while calculating optimal commute routes, so you can focus on what matters most - landing the perfect role.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages