Skip to content

Deeraj7/EasyDiceApply

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dice Logo

EasyDiceApply - Automated Job Application Tool 🚀

Python Selenium Flask License: MIT Contributors

Automate your job application process on Dice.com with an easy-to-use web interface. Streamline your job search with one-click applications, intelligent filtering, and real-time status tracking.


Table of Contents

  1. Introduction
  2. Features
  3. Installation
  4. Project Structure
  5. Configuration
  6. Usage
  7. Troubleshooting
  8. Contributors
  9. License
  10. Disclaimer

Introduction

EasyDiceApply is designed to make the job application process on Dice.com more efficient and less time-consuming. By automating repetitive tasks, it allows job seekers to focus on interview preparation and skill-building rather than filling out forms repeatedly. Built with Python, Selenium, and Flask, this tool includes features such as automatic job searching, one-click application, and real-time status tracking through a user-friendly web interface.

✨ Features

  • 🌐 Web-Based Interface: User-friendly UI for easy interaction
  • Automated Login to Dice.com
  • 🔍 Customizable Job Search: Allows searching with specific keywords and filters
  • 🎯 Intelligent Filtering: Only applies to relevant jobs (e.g., today's job postings, non-third-party listings)
  • "Easy Apply" Automation: One-click application submission for jobs with Easy Apply
  • 🔄 Smart Handling of Previously Applied Jobs: Skips jobs that you've already applied to
  • 💡 Shadow DOM Interaction: Interacts with modern web elements, including those hidden in Shadow DOM
  • 📊 Real-Time Status: Live tracking of application progress
  • 📁 Resume Management: Easy resume upload and handling

📂 Project Structure

EasyDiceApply/
├── README.md
├── requirements.txt
├── config.py
├── main.py
├── ui/
│   ├── app.py
│   ├── static/
│   │   ├── js/
│   │   │   ├── main.js
│   │   │   └── status.js
│   │   └── css/
│   │       └── styles.css
│   └── templates/
│       ├── index.html
│       └── status.html
└── src/
    ├── automation.py
    ├── handlers/
    │   ├── job_handler.py
    │   ├── shadow_dom_handler.py
    │   └── search_filter_handler.py
    └── utils/
        └── webdriver_setup.py

📋 Requirements

  • Python 3.x
  • Chrome Browser
  • ChromeDriver matching your Chrome version
  • Required Python packages listed in requirements.txt

⚙️ Installation

  1. Clone the Repository

    git clone https://github.com/Deeraj7/EasyDiceApply.git
    cd EasyDiceApply
  2. Install Required Packages

    pip install -r requirements.txt
  3. Configure Settings Create a config.py file with your settings:

    SEARCH_SETTINGS = {
        "max_applications": 10
    }
    
    RESUME_SETTINGS = {
        "allowed_extensions": {"pdf", "doc", "docx"},
        "max_file_size": 10 * 1024 * 1024
    }
    
    APP_SETTINGS = {
        "headless": False,
        "wait_timeout": 20
    }

🚀 Usage

  1. Start the web interface:

    python ui/app.py
  2. Open your browser and navigate to:

    http://localhost:5001
    
  3. In the web interface:

    • Upload your resume
    • Enter your Dice.com credentials
    • Set your job search preferences
    • Start the automation

🛠️ Troubleshooting

  1. Login Issues

    • Double-check your credentials
    • Ensure your ChromeDriver version matches your installed Chrome browser version
  2. Application Process Stalls

    • If the bot fails to click "Easy Apply," ensure that the jobs being targeted have the Easy Apply option
    • Check if resume upload is successful
  3. Shadow DOM Errors

    • Ensure the shadow_dom_handler.py script is functioning correctly
    • Some web elements on Dice might require specific handling
  4. Rate Limiting on Dice

    • Dice.com might limit requests if too many actions are performed quickly
    • The script includes delays to mimic human behavior, but further customization may be needed

👥 Contributors

Contributors

📄 License

This project is licensed under the MIT License - see the MIT License file for details.

⚠️ Disclaimer

This tool is for educational purposes only. Use responsibly and in accordance with Dice.com's terms of service. The developers are not responsible for any misuse or violation of Dice.com's terms of service.


Back to top 🚀

About

EasyDiceApply is a web-based automation tool built to streamline the job application process on Dice.com. It combines Selenium WebDriver's automation capabilities with a user-friendly Flask interface, making high-volume job applications efficient and manageable.

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages