Develop a Django-based REST API service for financial news. The project consists of two main components:
- REST API Service: Responsible for fetching and delivering financial news data.
- Scraping Service: Collects and stores financial news data by scraping Yahoo Finance.
Details:
To schedule periodic data collection, use the Celery extension along with django-celery-beat for task scheduling.
Requirements:
REST API Service:
Implement using Django Rest Framework (DRF).
Provide endpoints to fetch news for individual stock symbols.
Include pagination for fetched results.
Scraping Service:
Use Celery to manage asynchronous tasks and periodic scraping.
Database:
Use PostgreSQL as the database backend.
Deployment:
Containerize the entire project using Docker.
Ensure all services (API, Scraping, Database) run seamlessly in Docker containers.
Testing & Documentation:
Write unit tests for critical components of the codebase.
Submit the project to GitHub with a comprehensive README file, including deployment instructions. Only the GitHub repository is required as part of the submission.