Skip to content

openml-stack/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.


📁 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

MIT © [Your Name or Org]


🙌 Community


📄 Acknowledgements


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