aishikabiswas/SentiLog-AI

Understand the world. Understand yourself.

โ˜… 0Forks 0JavaScriptGitHub โ†—Compare

Project website โ†—

README

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/ 
|   โ”œโ”€โ”€ index.html/
|   โ”œโ”€โ”€ public/                 
โ”‚   โ””โ”€โ”€ src/                 # React frontend (Vite + Tailwind)
โ”‚       โ”œโ”€โ”€ pages/           # JournalPage, NewsPage, Dashboard
โ”‚       โ”œโ”€โ”€ components/      # Navbar, SentimentCard, ChartPanel
โ”‚       โ”œโ”€โ”€ App.jsx
โ”‚       โ””โ”€โ”€ main.jsx
โ”‚
โ”œโ”€โ”€ server/                  # Node.js + Express backend
โ”‚   โ”œโ”€โ”€ routes/              # journal.js, news.js
โ”‚   โ”œโ”€โ”€ controllers/
|   โ”œโ”€โ”€ middlewares/         # Express entry
|   โ”œโ”€โ”€ uploads/
|   โ”œโ”€โ”€ utils/
โ”‚   โ”œโ”€โ”€ models/              # Mongo schemas
โ”‚   โ””โ”€โ”€ index.js             
โ”‚
โ”œโ”€โ”€ ml-api/                  # Flask-based ML service
โ”‚   โ”œโ”€โ”€ app.py
โ”‚   โ”œโ”€โ”€ model/
|   โ”œโ”€โ”€ vader_service.py/
โ”‚   โ””โ”€โ”€ requirements.txt
|
โ”œโ”€โ”€ notebook/
|    โ”œโ”€โ”€ varder_sentiment_demo.ipynb
โ”‚    
โ”œโ”€โ”€ .gitignore
โ”œโ”€โ”€ README.md
โ””โ”€โ”€ package.json / envs

๐Ÿš€ Quick Start

1. Clone the Repo

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

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!

Folder Structure

Contributors

IkkiOceanPrajwalBenedictNormanstar-warriorRashi-Dwivedi1812Tharunkunamalla6vam4aryaKashish23092004Vasita27swanith1234Sougata2006Muskanagrawal2005revanthsaichparamsohal05mac146abhitiwari2511PoojaRajput07NimoMachMedha375ahana4banerjeeanjany06gh4aniketharish-pasupuletiitsishant

Issues