Skip to content
/ AA Public

AutoApply is a free and open-source program that automates the tedious process of finding and applying for jobs.

License

Notifications You must be signed in to change notification settings

Liebmann5/AA

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AutoApply (UNDER-CONSTRUCTION)

AutoApply is an intelligent automation system designed to streamline the job search and application process. It provides a modular framework for discovering job postings, filtering relevant listings, and submitting applications automatically with minimal user intervention.


1. Overview

AutoApply automates the process of identifying and applying to job listings across multiple platforms. It includes a robust evasion framework to prevent detection by web platforms, a dynamic scraping system, and a user interface that enables configuration and monitoring of all activities.

The system is designed with a modular architecture to ensure future scalability, maintainability, and reusability across independent subprojects.


2. Key Features

  • Automated Job Discovery: Integrates with major job portals to collect job postings.
  • Configurable Application Strategies: Supports platform-specific submission flows (e.g., Lever, Greenhouse).
  • Detection and Evasion Layer: Employs dynamic behavior simulation and fingerprint management to minimize bot detection.
  • Cross-Browser Automation: Compatible with Playwright, Selenium, and Appium.
  • Profile Management: Centralized user data and application tracking.
  • Command-Line and GUI Interfaces: Choose between automation or interactive configuration.
  • Extensible Architecture: Designed to support future standalone modules or integrations.

3. Getting Started

3.1. Requirements

  • Python 3.9 or higher
  • Windows, macOS, or Linux
  • Recommended: Google Chrome, Firefox, or Edge

3.2. Installation

From the project root:

# Clone the repository
git clone https://github.com/Liebman5/AA.git
cd AA/packages/auto_apply

# Create and activate a virtual environment
python -m venv .venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate

# Install dependencies
pip install -e .

### 3.3. Usage

To run the main application:
```bash
auto-apply


To execute via script:
```bash
./run.sh  # Linux/macOS
run.bat   # Windows

---

## 4. Directory Structure

```bash
auto_apply/
├── docs/                   # Documentation (User & Developer Guides)
├── src/auto_apply/
│   ├── core/               # Core architecture & orchestration logic
│   ├── evasion/            # Detection avoidance strategies
│   ├── scraping/           # Job discovery and application logic
│   ├── ui/                 # GUI and dashboard modules
│   ├── utils/              # General utility functions
│   └── main.py             # Application entry point
├── tests/                  # Unit tests by module
├── pyproject.toml          # Build configuration
├── run.sh / run.bat        # Platform-specific launchers
└── README.md               # Project documentation

---

## 5. Configuration

The application includes default settings located in:
```bash
auto_apply/src/auto_apply/profiles/default_profile.json

Users can modify or clone this profile to customize search filters, automation speed, and application strategies.

---

## 6. Developer Documentation

This section is intended for contributors or engineers extending AutoApply.

### 6.1. Code Style

 - Linting: ruff

 - Formatting: black

 - Testing: pytest

 - Documentation: mkdocs

To check code style:
```bash
ruff check .
black --check .


### 6.2. Testing

Run all unit tests:
```bash
pytest

---

## 7. Contribution Workflow

Developers can fork or clone the repository and submit pull requests targeting the main branch.

1. Create a feature branch:
```bash
git checkout -b feature/your-feature-name

2. Commit changes with descriptive messages.

3. Run tests and linters.

4. Submit a pull request with a summary of modifications.

Refer to CONTRIBUTING.md for detailed contribution guidelines.

---

## 8. License

This project is licensed under the MIT License.
See the LICENSE[] file for full details.

About

AutoApply is a free and open-source program that automates the tedious process of finding and applying for jobs.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published