Skip to content

Repository files navigation

📰 Smart Reviewer — AI News Analyst

An intelligent news sentiment analysis platform that helps users understand the tone and key takeaways of the latest world events. Built with Next.js, OpenAI, and MongoDB Atlas.

Project Preview (Placeholder for actual image)


✨ Features

  • 🔍 Intelligent Search: Real-time news discovery powered by the GNews API.
  • 🤖 Deep AI Analysis: Goes beyond headlines—extracts full article content and generates neutral, 2-3 sentence summaries and sentiment scores using OpenAI's gpt-4o-mini.
  • 📊 Sentiment Insights: Categorical sentiment identification (Positive, Neutral, Negative) with AI confidence scoring.
  • 🏺 Analysis History: Persistent storage of analyzed articles in MongoDB Atlas for easy historical reference.
  • 🎨 Premium UI/UX: An Anthropic-inspired, light-mode interface with elegant transitions, glassmorphic elements, and a mobile-optimized layout.
  • ♿ Accessibility First: Fully accessible with ARIA-compliant tab systems, semantic HTML, and polished keyboard navigation.
  • 🚀 Automated Infrastructure: Declarative infrastructure management with OpenTofu (IaC) and GitHub Actions CI/CD.

🛠️ Tech Stack


🚀 Getting Started

1. Prerequisites

2. Local Setup

  1. Clone the repository:

    git clone https://github.com/felkru/aries_interview.git
    cd aries_interview
  2. Install dependencies:

    npm install
  3. Environment Variables:

    Create a .env.local file in the root directory:

    MONGODB_URI=your_mongodb_uri
    OPENAI_API_KEY=your_openai_key
    GNEWS_KEY=your_gnews_key
  4. Run the development server:

    npm run dev
    # or
    vercel dev

3. Infrastructure (OpenTofu)

The MongoDB Atlas cluster is managed via OpenTofu in the tofu/ directory. CI/CD for infra is automated via GitHub Actions in .github/workflows/tofu.yml.

To deploy manually or via CI, you'll need the following environment variables (or GitHub Secrets):

  • ATLAS_ORG_ID
  • ATLAS_PUBLIC_KEY
  • ATLAS_PRIVATE_KEY
  • DB_PASSWORD

📖 Project Structure

  • app/, components/, lib/, public/: The core Next.js web application.
  • tofu/: OpenTofu configurations for MongoDB Atlas.
  • docs/: Architecture diagrams and implementation details.
  • work_log/: Chronological log of agent activity.
  • assignment/: Original project requirements.

📄 License

MIT © Felix Krueckel

Releases

Packages

Contributors

Languages