This repository contains the backend API for Apply.Sucks, a platform that helps automate and streamline the job application process.
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.
- Real-time communication via Socket.IO
- Browser automation for form filling
- Memory management for user data
- Integration with AI services
- Firebase database integration
- Python 3.11+
- Playwright
- Firebase credentials
- Various API keys for AI services (see Configuration section)
- Clone the repository
- Install the required dependencies:
pip install -r requirements.txt - Install Playwright with browser dependencies:
playwright install --with-deps
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.
Start the server locally:
uvicorn main:app --host 0.0.0.0 --port 8080
Build and run the Docker container:
docker build -t apply-sucks-api .
docker run -p 8080:8080 apply-sucks-api
The Socket.IO server handles these main events:
connect: Handles new client connectionsdisconnect: Handles client disconnectionsstart_process: Initiates the job application processuser_input: Processes user input during the application flowautofill_request: Handles requests to autofill form fieldsadd_Memory: Adds information to the user's memory
main.py: Main application entry point and Socket.IO event handlersbrowserManager.py: Manages browser automation with Playwrightmemory.py: Handles storage and retrieval of user dataopenAIManager.py: Manages interactions with AI services
Proprietary - All rights reserved
For support or questions, please contact the development team.