Skip to content

jeevanbhatta/InstantApply

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

703 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

InstantApply

A modern platform to streamline job applications using AI technology.

Demo Video Live App

πŸš€ Features

  • Smart Job Search: Search for jobs across multiple platforms based on job title and location
  • AI-Powered Applications: Generate intelligent responses to application questions using Google Gemini 2.0
  • Automatic Form Filling: Automatically detect, fill and submit job applications
  • Resume Parsing: Extract structured data from resumes (PDF, DOCX, TXT)
  • Application Tracking: Monitor the status of all your job applications
  • Personalized Job Recommendations: Get tailored job recommendations based on your profile
  • Role-based Access Control: Different permission levels for users, moderators and administrators

πŸ—οΈ Architecture

InstantApply Architecture

The project follows a modern architecture with:

  • React Frontend: Dynamic and responsive user interface
  • Flask Backend: RESTful API services and business logic
  • Google Gemini AI Integration: For intelligent response generation
  • SQLAlchemy ORM: Database interaction layer
  • Playwright Integration: Browser automation for application processing

πŸ› οΈ Tech Stack

Frontend

  • React.js
  • JavaScript/JSX
  • CSS

Backend

  • Flask (Python)
  • SQLAlchemy ORM
  • SQLite/PostgreSQL

AI & Automation

  • Google Generative AI (Gemini)
  • Playwright (browser automation)
  • spaCy (NLP for resume parsing)

πŸš€ Getting Started

Prerequisites

  • Python 3.8+ (3.11 recommended)
  • Node.js 14+ and npm/yarn
  • pip
  • virtualenv (recommended)
  • poppler (for PDF processing, install via homebrew on Mac)

Backend Setup

  1. Clone the repository

    git clone <repository-url>
    cd InstantApply
  2. Run the setup script to install backend dependencies

    chmod +x setup_dev.sh
    ./setup_dev.sh

    Or manually:

    # Create and activate virtual environment
    python3.11 -m venv venv
    source venv/bin/activate  # On Windows, use: venv\Scripts\activate
    
    # Install dependencies
    pip install -r backend/requirements.txt
    
    # Initialize database
    python init_db.py
  3. Set up environment variables

    # Create a .env file in the project root
    touch .env
    
    # Add the following variables
    FLASK_APP=backend/app.py
    FLASK_ENV=development
    GEMINI_API_KEY=your_gemini_api_key
    

Frontend Setup

  1. Navigate to the React frontend directory

    cd react-frontend
  2. Install dependencies

    npm install
    # or
    yarn install
  3. Start the frontend development server

    npm start
    # or
    yarn start

Building the React Frontend for Production

To serve the React frontend directly from the Flask backend on port 5000:

  1. Build the React application

    cd react-frontend
    npm run build
    # or
    yarn build
  2. Copy the build files to the Flask static directory (from project root)

    # On macOS/Linux
    cp -r react-frontend/build/* backend/static/
    # On Windows
    xcopy react-frontend\build\* backend\static\ /E /Y

    Alternatively, use the provided build script:

    # From project root
    cd backend
    bash build_react.sh
    # This script builds the React app and places it in the correct location
  3. Start the Flask server which will now serve both the API and frontend

    flask run
  4. Access the application at http://localhost:5000

Running the Full Application in Development Mode

  1. Start the backend server (from project root with activated virtual environment)

    flask run
  2. In another terminal, start the frontend server

    cd react-frontend
    npm start
  3. Access the application at http://localhost:3000

πŸ’Ύ Database Management

# Create migrations after model changes
flask db migrate -m "Description of changes"

# Apply migrations
flask db upgrade

# Rollback migrations
flask db downgrade

πŸ”‘ API Key Setup

Getting a Gemini API Key

  1. Visit Google AI Studio
  2. Create a new API key
  3. Add it to your .env file: GEMINI_API_KEY=your_key_here

πŸ“ Project Structure

InstantApply/
β”œβ”€β”€ backend/               # Flask backend
β”‚   β”œβ”€β”€ app.py             # Main Flask application
β”‚   β”œβ”€β”€ config.py          # Configuration settings
β”‚   β”œβ”€β”€ requirements.txt   # Python dependencies
β”‚   β”œβ”€β”€ models/            # Database models
β”‚   β”‚   β”œβ”€β”€ user.py
β”‚   β”‚   └── application.py
β”‚   β”œβ”€β”€ routes/            # API routes
β”‚   β”‚   β”œβ”€β”€ api.py
β”‚   β”‚   └── auth.py
β”‚   └── utils/             # Utility modules
β”‚       β”œβ”€β”€ document_parser.py
β”‚       β”œβ”€β”€ gemini_caller.py
β”‚       └── application_filler/
β”‚           └── ...
β”œβ”€β”€ react-frontend/        # React frontend
β”‚   β”œβ”€β”€ package.json
β”‚   β”œβ”€β”€ public/
β”‚   └── src/
β”‚       β”œβ”€β”€ components/
β”‚       β”œβ”€β”€ pages/
β”‚       └── services/
β”œβ”€β”€ flask-frontend/        # Flask templates (legacy)
β”‚   β”œβ”€β”€ static/
β”‚   └── templates/
β”œβ”€β”€ resources/             # Project resources
β”‚   └── media/
β”œβ”€β”€ archive/               # Archived code
└── README.md

πŸ› Troubleshooting

Python 3.12 Compatibility

If you're using Python 3.12, there are known compatibility issues with some packages:

# Install greenlet first with special flags
pip install --no-build-isolation greenlet==3.0.1

# Then install remaining requirements
pip install -r backend/requirements.txt

Database Issues

If encountering database errors:

# Remove and reinitialize the database
rm instance/instant_apply.db  # On Windows: del instance\instant_apply.db
python init_db.py

🀝 Contributing

Contributions are welcome! Please check our Contribution Guidelines.

πŸ“œ License

MIT License

About

No description, website, or topics provided.

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors