Skip to content

Repository files navigation

Apply.Sucks API

This repository contains the backend API for Apply.Sucks, a platform that helps automate and streamline the job application process.

Overview

The API provides real-time communication through Socket.IO, enabling interactive job application processing. It leverages several technologies including FastAPI, Firebase, Playwright for browser automation, and various AI components for intelligent processing.

Features

  • Real-time communication via Socket.IO
  • Browser automation for form filling
  • Memory management for user data
  • Integration with AI services
  • Firebase database integration

Requirements

  • Python 3.11+
  • Playwright
  • Firebase credentials
  • Various API keys for AI services (see Configuration section)

Installation

  1. Clone the repository
  2. Install the required dependencies:
    pip install -r requirements.txt
    
  3. Install Playwright with browser dependencies:
    playwright install --with-deps
    

Configuration

Create a .env file in the root directory with the following variables:

QDRANT_API_KEY=your_qdrant_api_key
QDRANT_LINK=your_qdrant_link
OPENAI_API_KEY=your_openai_api_key

Also, ensure you have your Firebase credentials file named ezz.json in the root directory.

Running the Application

Start the server locally:

uvicorn main:app --host 0.0.0.0 --port 8080

Docker Deployment

Build and run the Docker container:

docker build -t apply-sucks-api .
docker run -p 8080:8080 apply-sucks-api

API Events

The Socket.IO server handles these main events:

  • connect: Handles new client connections
  • disconnect: Handles client disconnections
  • start_process: Initiates the job application process
  • user_input: Processes user input during the application flow
  • autofill_request: Handles requests to autofill form fields
  • add_Memory: Adds information to the user's memory

Project Structure

  • main.py: Main application entry point and Socket.IO event handlers
  • browserManager.py: Manages browser automation with Playwright
  • memory.py: Handles storage and retrieval of user data
  • openAIManager.py: Manages interactions with AI services

License

Proprietary - All rights reserved

Support

For support or questions, please contact the development team.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages