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.
(Placeholder for actual image)
- 🔍 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.
- Framework: Next.js 15 (App Router)
- Styling: Tailwind CSS v4
- AI/LLM: OpenAI GPT-4o-mini
- Database: MongoDB Atlas
- Scraping: Mozilla Readability + JSDOM
- Infrastructure: OpenTofu (IaC)
- Deployment: Vercel
-
Clone the repository:
git clone https://github.com/felkru/aries_interview.git cd aries_interview -
Install dependencies:
npm install
-
Environment Variables:
Create a
.env.localfile in the root directory:MONGODB_URI=your_mongodb_uri OPENAI_API_KEY=your_openai_key GNEWS_KEY=your_gnews_key
-
Run the development server:
npm run dev # or vercel dev
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_IDATLAS_PUBLIC_KEYATLAS_PRIVATE_KEYDB_PASSWORD
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.
MIT © Felix Krueckel