Expected duration: less than 1 week Project Overview We are seeking an experienced Python developer to optimize and enhance our job data collection system. The current Selenium-based approach needs to be replaced with a more efficient API-driven solution, incorporating sophisticated data management and robust error handling.
Key Requirements - Strong Python programming skills with API integration experience - Database design and implementation (PostgreSQL preferred) - Experience with data versioning and delta tracking - Familiarity with VPN handling for IP rotation - Linux server deployment experience (Ubuntu)
Technical Specifications
Core Functionalities 1. API Integration - Implement API-based job ID collection to replace current Selenium approach - Design intelligent filtering system to manage data retrieval within API limitations - Develop dynamic filter adjustment for optimal data collection
2. Database Design & Implementation - Design and implement a PostgreSQL database structure - Key data points to track: - Job IDs and metadata - First addition and update dates - Full job details (JSON format) - Update tracking and versioning - Job availability status
3. Data Management - Implement delta versioning for historical tracking - Design system to handle regular job listing updates - Ensure no data loss during updates
4. System Features - Flexible time period selection for data retrieval - Automatic filter optimization to work within API limitations - IP rotation mechanism using NordVPN
Additional Requirements - Comprehensive logging system - Email notification system for errors and results - Daily statistics tracking and reporting - Server deployment on Ubuntu VPS
Technical Considerations - System must handle large volumes of data efficiently - Solution should be scalable and maintainable - Must work within API rate limits and restrictions
Deliverables 1. Complete Python codebase 2. Database schema and implementation 3. Import of existing data 4. Deployment documentation 5. System documentation including error handling procedures
Skills Required - Advanced Python programming - API integration expertise - Database design and optimization - Linux server administration - Network handling (VPN integration)
This is a complex project requiring a developer with strong system design skills and attention to detail. The ideal candidate will have experience with large-scale data collection and management systems.