Skip to content

Your personalized gateway to the world’s news. Discover, bookmark, and customize your news experience across sources and languages.

Notifications You must be signed in to change notification settings

Nanle21/news-app

Repository files navigation

📰 Nanle News Aggregator

Screenshot 2025-08-21 at 20 02 26

Your personalized gateway to the world’s news. Discover, bookmark, and customize your news experience across sources and languages.

A modern news aggregation platform built with Laravel (backend) and React (frontend).

✨ Features

  • 🔍 News aggregation from multiple sources
  • 🎯 Personalized feeds and preferences
  • 🔖 Article bookmarking
  • 🌍 Multi-language support (EN, FR, DE)
  • 🌙 Dark/Light mode
  • 📱 Responsive design
  • 🔐 User authentication with email verification

🚀 Quick Start

Prerequisites

  • Docker Desktop
  • Git

Installation

  1. Clone and setup

    git clone <repository-url>
    cd nanle-home-task
    make setup
  2. Access the application

🛠️ Development

Commands

make setup         # setup the entire application
make help          # Show all commands
make up            # Start services
make down          # Stop services
make logs          # View logs
make test          # Run backend tests
make shell-backend # Backend container access

Project Structure

nanle-home-task/
├── backend/        # Laravel API
├── frontend/       # React app
├── docker-compose.yml
└── Makefile

🏗️ Tech Stack

Backend: Laravel 11, MySQL 8.0, Redis, Laravel Passport
Frontend: React 18, TypeScript, Redux Toolkit, Tailwind CSS
Services: Docker, Nginx, Mailpit (email testing)

🔧 Configuration

Add API keys to backend/.env:

NEWSAPI_KEY=your-key
GUARDIAN_API_KEY=your-key

Get free API keys from:

📊 Key API Endpoints

  • POST /api/auth/register - User registration
  • POST /api/auth/login - User login
  • GET /api/articles/search - Search articles
  • GET /api/articles/feed - Personalized feed
  • GET /api/articles/dashboard-stats - Dashboard statistics
  • POST /api/articles/{id}/bookmark - Toggle bookmark

🐛 Troubleshooting

# Reset everything
make clean-all
make setup

# Check service status
docker compose ps

# View logs
make logs

📝 License

Part of the Nanle home task assignment.

About

Your personalized gateway to the world’s news. Discover, bookmark, and customize your news experience across sources and languages.

Resources

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published