Skip to content

gh4aniket/SentiLog-AI

 
 

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!

About

Understand the world. Understand yourself.

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 92.0%
  • CSS 4.8%
  • Python 1.6%
  • Jupyter Notebook 1.3%
  • HTML 0.3%