Skip to content

openml-stack/SentiLog-AI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

95 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

SentiLog AI

MIT License PRs Welcome Build Status Open Issues


🧠 What is SentiLog AI?

SentiLog AI is an open-source platform that combines news sentiment analysis and personal mood journaling. It features a modern React frontend, a robust Node.js/Express backend, and a Python/Flask microservice for ML-powered sentiment/emotion analysis.


🌟 Core Features

SentiLog AI provides a unique fusion of sentiment-aware news analysis and personal mental wellness tracking through the following key features:

πŸ“° Real-Time News Bias Filter

  • Automatically analyzes current news articles and classifies them based on political bias: Left, Right, or Neutral.
  • Helps users recognize media bias and form balanced opinions.
  • Uses Natural Language Processing (NLP) models to assess sentiment and ideological leaning in real-time.

πŸ““ Daily Mood Journal

  • Users can write daily journal entries about their thoughts or experiences.
  • The system performs sentiment and emotion analysis (e.g., happy, sad, anxious).
  • Helps users track their mental state over time, identifying patterns or triggers.
  • Journal data can be cross-referenced with consumed news to understand the impact of external events on personal emotions.

πŸ“ Project Structure

project-root/
β”‚
β”œβ”€β”€ client/                  # React frontend (Vite + Tailwind)
β”‚   └── src/
β”‚       β”œβ”€β”€ pages/           # JournalPage, NewsPage, Dashboard
β”‚       β”œβ”€β”€ components/      # Navbar, SentimentCard, ChartPanel
β”‚       β”œβ”€β”€ App.jsx
β”‚       └── main.jsx
β”‚
β”œβ”€β”€ server/                  # Node.js + Express backend
β”‚   β”œβ”€β”€ routes/              # journal.js, news.js
β”‚   β”œβ”€β”€ controllers/
β”‚   β”œβ”€β”€ models/              # Mongo schemas
β”‚   └── index.js             # Express entry
β”‚
β”œβ”€β”€ ml-api/                  # Flask-based ML service
β”‚   β”œβ”€β”€ app.py
β”‚   β”œβ”€β”€ model/
β”‚   └── requirements.txt
β”‚
β”œβ”€β”€ .gitignore
β”œβ”€β”€ README.md
└── package.json / envs

πŸš€ Quick Start

1. Clone the Repo

git clone https://github.com/your-org/SentiLogAI.git
cd SentiLogAI

2. Setup the Frontend (client/)

cd client
npm install
npm run dev
  • Built with Vite + React + Tailwind CSS
  • Main routes: /journal, /news, /dashboard
  • Placeholder components: Navbar, TextInput, SentimentCard, LineChart

3. Setup the Backend (server/)

cd ../server
npm install
npm run dev
  • Express.js API server
  • Connects to MongoDB (see .env.example)
  • Routes:
    • POST /api/journal/analyze β†’ calls ML API
    • POST /api/news/analyze β†’ calls ML API
  • Uses Mongoose for MongoDB schemas

4. Setup the ML API (ml-api/)

cd ../ml-api
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
python app.py
  • Flask microservice
  • /predict POST endpoint: accepts {"text": "..."} and returns mock sentiment/emotion

5. Environment Variables

  • Copy .env.example in server/ to .env and fill in your MongoDB URI and other secrets.

🧩 Contributing

  1. Comment on the issue you want to work on (frontend, ml-api, express route, schema)
  2. Fork the repo & clone locally
  3. Work in the corresponding subfolder
  4. Open a PR with the title: [Feature]: <Your Component or Route>

πŸ“¦ Tech Stack

  • Frontend: React, Vite, Tailwind CSS
  • Backend: Node.js, Express, MongoDB, Mongoose
  • ML API: Python, Flask, transformers, vaderSentiment

πŸ“ License

This project is licensed under the MIT License β€” see the LICENSE file for details.

The MIT License is a permissive license that allows you to:

  • Freely use, copy, modify, and distribute the code.
  • Use the project in commercial and non-commercial applications.
  • Attribute the original creator(s) in any reused version.

By contributing to this repository, you agree that your contributions will be licensed under the MIT License as well.


πŸ™Œ Community


πŸ“„ Acknowledgements


Let's build the future of mood and news analysis together!