A modern, intelligent Applicant Tracking System built with React, Firebase, and OpenAI. This system helps companies manage job postings, track candidates, and use AI to match the best candidates to job requirements.
Think of this as a smart hiring assistant that:
- Manages job postings - Companies can create and manage job openings
- Tracks candidates - Stores candidate information and resumes
- AI-powered matching - Uses OpenAI to match candidates to jobs based on skills and requirements
- User management - Supports both admin users (HR managers) and regular users (candidates)
- Real-time updates - Uses Firebase for instant data synchronization
- React - The main framework for building the user interface
- TypeScript - Adds type safety to JavaScript (helps catch errors early)
- Vite - Fast development server and build tool
- Material-UI - Pre-built beautiful components for the interface
- Tailwind CSS - Utility-first CSS framework for styling
- Firebase Authentication - Handles user login/signup securely
- Firestore Database - NoSQL database for storing all data
- Firebase Storage - Stores files like resumes and documents
- OpenAI API - Powers the AI matching and analysis features
- Git - Version control to track changes
- GitHub Actions - Automated testing and deployment
- ESLint - Code quality checker
- Prettier - Code formatter
- Node.js (version 18 or higher) - Download here
- Git - Download here
- Firebase Account - Create free account
- OpenAI API Key - Get API key
-
Clone the repository
git clone https://github.com/YOUR_USERNAME/ai-powered-ats.git cd ai-powered-ats -
Install dependencies
cd frontend npm install -
Set up environment variables
cp .env.example .env # Edit .env file with your Firebase and OpenAI credentials -
Start the development server
npm run dev
-
Open your browser
- Go to
http://localhost:5173 - Create your first admin user account
- Go to
ai-powered-ats/
βββ frontend/ # React application
β βββ src/
β β βββ components/ # Reusable UI components
β β βββ lib/ # Services and utilities
β β βββ types/ # TypeScript type definitions
β β βββ App.tsx # Main application component
β βββ public/ # Static files
β βββ package.json # Dependencies and scripts
βββ docs/ # Documentation
βββ .github/workflows/ # GitHub Actions CI/CD
βββ README.md # This file
- React Fundamentals - Learn components, props, and state
- TypeScript Basics - Understand types and interfaces
- Firebase Setup - Learn about NoSQL databases and authentication
- User Authentication - Login/signup functionality
- CRUD Operations - Create, Read, Update, Delete data
- File Uploads - Handle resume uploads to Firebase Storage
- AI Integration - Connect with OpenAI API
- Real-time Updates - Use Firestore listeners
- Deployment - Deploy to production
In the frontend directory, you can run:
npm run dev- Start development servernpm run build- Build for productionnpm run lint- Check code qualitynpm run preview- Preview production build
- β Create and manage job postings
- β View all candidate applications
- β AI-powered candidate matching
- β Generate hiring reports
- β Manage user permissions
- β Browse available job openings
- β Submit applications with resume upload
- β Track application status
- β Update profile information
- π€ Smart Matching - AI analyzes resumes and job requirements
- π€ Skill Extraction - Automatically identifies candidate skills
- π€ Job Recommendations - Suggests best-fit positions
- π€ Interview Questions - Generates relevant interview questions
Create a .env file in the frontend directory:
# Firebase Configuration
VITE_FIREBASE_API_KEY=your_firebase_api_key
VITE_FIREBASE_AUTH_DOMAIN=your_project.firebaseapp.com
VITE_FIREBASE_PROJECT_ID=your_project_id
VITE_FIREBASE_STORAGE_BUCKET=your_project.appspot.com
VITE_FIREBASE_MESSAGING_SENDER_ID=your_sender_id
VITE_FIREBASE_APP_ID=your_app_id
# OpenAI Configuration
VITE_OPENAI_API_KEY=your_openai_api_key- Uses Firebase emulators for local testing
- Safe environment for learning and experimentation
- Connects to real Firebase services
- Requires proper environment variables
- Automated deployment via GitHub Actions
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- π Complete Features List - Comprehensive documentation of all features
- π Deployment Guide - Step-by-step deployment instructions
- π Security Guidelines - Security best practices and configurations
-
"Module not found" errors
cd frontend && npm install
-
Firebase connection issues
- Check your
.envfile has correct credentials - Ensure Firebase project is properly configured
- Check your
-
Port already in use
lsof -ti:5173 | xargs kill -9 npm run dev
This project is licensed under the MIT License - see the LICENSE file for details.
- Firebase for providing excellent backend services
- OpenAI for powerful AI capabilities
- React community for amazing tools and libraries
- Material-UI for beautiful, accessible components
Happy Coding! π
This project is perfect for learning modern web development with AI integration. Start with the basics and gradually add more advanced features as you grow your skills. # Deployment Test