You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
2.6 KiB
2.6 KiB
Project Checklist - Intelligent Divar Ads Crawler
This checklist tracks the implementation progress of the Intelligent Divar Ads Crawler with AI flagging and Telegram alerts.
1. Project Setup & Infrastructure
- Create Python virtual environment and set up
requirements.txt - Configure Docker environment (
docker-compose.yml,Dockerfile.backend,frontend/Dockerfile,.dockerignore) - Setup environment variables template (
.env.example) - Sanitize Docker shell script execution for Linux/Server build environments (
entrypoint.shCRLF/LF handling)
2. Backend Base & Models
- Implement core abstract base models (
BaseModel,TimeStampedModelincore/models.py) - Implement Crawler app models (
CrawlTaskandCrawlRunincrawler/models.py) - Implement Ads app models (
Ad,AdEvaluation, andNotificationLoginads/models.py) - Generate database migrations and apply them
3. API Views, Serializers, and Routing (DRF)
- Create API health check endpoint (
/api/health/) - Create
CrawlTaskandCrawlRunserializers and views - Implement manual trigger action (
/api/crawlers/<id>/trigger/) and runs history (/api/crawlers/<id>/runs/) - Create
Ad,AdEvaluation, andNotificationLogserializers and views - Implement ads filtering by
crawl_taskandis_flagged(/api/ads/) - Write backend unit tests for all implemented API endpoints and ensure they pass
4. Background Tasks & Scheduler (Celery)
- Configure Celery app and connect to Django settings (
config/celery.py) - Setup Celery dynamic database scheduler (
django-celery-beat) - Implement crawler pipeline task (
run_crawl_pipelineincrawler/tasks.py) - Add scraping/extraction logic for Divar public listings
5. AI Flagging & Telegram Notification
- Implement AI analysis with LLM Structured Outputs in
ads/tasks.py - Implement Telegram Bot notification sender in
ads/tasks.py - Connect full pipeline (Scrape -> AI Flag -> Telegram Alert)
6. Frontend Dashboard (React + Vite)
- Initialize React project in
frontend/ - Create layout and custom CSS styling
- Build Crawler Management page (list, create, edit, trigger, log view)
- Build Ads Feed page (display filtered ads with AI evaluation details)
- Connect React frontend to Django REST APIs
7. Verification & Production Readiness
- Run full system manual QA (Edge cases, errors, network failure)
- Optimize logging, performance, line endings, and rate limiting
- Verify unit test suite execution (16/16 tests passing)