DailyNews is a full-stack news aggregator that automatically fetches the top 5 headlines from two major Spanish newspapers — El País and El Mundo — on every request, and combines them with any custom news items you create through the frontend or API. The backend is built with Node.js, Express, TypeScript, and MongoDB, while the frontend uses React 18, Vite, and Tailwind CSS.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/miikorz/DailyNews/llms.txt
Use this file to discover all available pages before exploring further.
Quickstart
Get DailyNews running locally with Docker in under five minutes.
Architecture
Understand the Domain-Driven Design layers and how scraping fits in.
API Reference
Explore every REST endpoint with request/response schemas and examples.
Frontend Guide
Learn how the React frontend is structured and how to extend it.
How It Works
Clone and configure
Clone the repository and set your environment variables for the backend port and MongoDB connection string.
Start with Docker Compose
Run
docker-compose up --build to spin up the frontend (port 3000), backend API (port 3001), and MongoDB together.Browse your news feed
Open
http://localhost:3000 to see the latest scraped headlines from El País and El Mundo alongside any custom items you’ve added.Key Features
Automated Scraping
Fetches the top 5 headlines from El País and El Mundo on every
GET /feed request using Cheerio.Full CRUD API
Six REST endpoints let you create, read, update, delete, and search news items stored in MongoDB.
React Frontend
A React 18 app with real-time debounced search, dark mode, and confirmation modals for destructive actions.
Docker Ready
One
docker-compose up --build starts all three services: frontend, backend, and MongoDB.DDD Architecture
The backend follows Domain-Driven Design with clear application, domain, and infrastructure layers.
Tested
Backend covered by Jest + SuperTest; frontend by Jest + React Testing Library.