This page walks you through getting the entire DailyNews stack — React frontend, Express backend, and MongoDB — running on your machine in roughly five minutes. The recommended path is Docker Compose, which handles every dependency automatically. If you prefer running services directly on your host, there is also a manual setup section at the bottom.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.
Prerequisites
Docker + Docker Compose
Required for the recommended one-command setup. Docker Compose v2 is bundled with Docker Desktop.
Node.js (latest LTS)
Only needed if you want to run the backend or frontend directly on your host without Docker.
Git
Required to clone the repository. Any recent version works.
Setup Steps
Review environment configuration
DailyNews uses two environment files — one for Docker Compose at the project root, and one inside the frontend folder.Root Docker Compose also injects these values directly via the The
.env (consumed by Docker Compose for the backend service):environment block in docker-compose.yml, so the root .env acts as an override file for local customisation.frontend/.env (consumed by Vite at build time):VITE_BACKEND_BASE_URI variable tells the React app where to reach the API. When running via Docker Compose, the default value http://localhost:3001/feed is already set in docker-compose.yml under the frontend service’s environment block — you only need to change it if you deploy to a different host or port.Start the full stack with Docker Compose
From the project root, build images and start all three services (frontend, backend, MongoDB) in one command:Docker Compose will:
- Pull the official
mongoimage and start it on port27017. - Build and start the backend container on port
3001, waiting for MongoDB to be ready. - Build and start the frontend container on port
3000, waiting for the backend.
Server is running on port 3001 when it is ready.Open the app
Once all containers are running, open these URLs in your browser:
The frontend automatically connects to the API using the
| Service | URL |
|---|---|
| React frontend | http://localhost:3000 |
| REST API | http://localhost:3001 |
VITE_BACKEND_BASE_URI environment variable.Make your first API call
With the stack running, hit the The response is a JSON object with a You can also exercise the other endpoints:
GET /feed endpoint to trigger a live scrape of El País and El Mundo and retrieve the full feed:data array of Feed objects and an error field. Each item in data matches the Feed interface defined in backend/src/domain/model/Feed.ts, with _id added by MongoDB:portrait may be null for some articles. El País and El Mundo only include images in article cards when the image is present in the listing page’s HTML — articles that require navigating to the detail page to load an image will have a null or empty portrait.Running Without Docker
If you want to run the backend and frontend directly on your host — for example to get faster hot-reload iteration — you will need a running MongoDB instance accessible atmongodb://localhost:27017.
Backend:
npm run dev uses nodemon to watch src/server.ts and restart on changes.
Frontend:
http://localhost:5173 by default in dev mode (not port 3000, which is the Docker-served production build). Update VITE_BACKEND_BASE_URI accordingly if the backend runs on a different address.