A full-stack web application for sentiment analysis of Bangla movie reviews using 6 different machine learning models.
- π€ 6 ML Models - Choose from Transformer, Deep Learning, and Classical ML models
- π§π© Bangla Support - Optimized for Bangla language sentiment analysis
- π¨ Beautiful UI - Modern gradient theme with custom dropdown
- π Word Highlighting - See which words influenced the prediction
- π Confidence Scores - Get prediction confidence percentages
- π Analysis History - Track your previous analyses
- β‘ Fast & Responsive - Smooth animations and instant feedback
git clone <your-repo-url>
cd BanglaMovieReviewer
.\start.batThat's it! Browser opens at http://localhost:3000
| Model | Type | Icon | Description |
|---|---|---|---|
| BanglaBERT | Transformer | π§π© | Fine-tuned BERT for Bangla |
| mBERT | Transformer | π | Multilingual BERT |
| CNN | Deep Learning | π§ | Convolutional Neural Network |
| Masked_LSTM | Deep Learning | π | Recurrent Neural Network |
| LightGBM | Classical ML | β‘ | Gradient Boosting |
| Logistic Regression | Classical ML | π | Linear Classifier |
All models hosted on Hugging Face: shksabbir7
- Framework: Django 4.2.7
- API: Django REST Framework
- ML Libraries: Transformers, TensorFlow, PyTorch, LightGBM, Scikit-learn
- Model Hub: Hugging Face Hub
- Database: SQLite
- Framework: React 18.2
- HTTP Client: Axios
- Icons: Lucide React
- Routing: React Router
- Styling: Custom CSS with gradients
- Python: 3.8 or higher
- Node.js: 14 or higher
- RAM: 4GB minimum (8GB recommended)
- Internet: Required for first run (model download)
# Clone repository
git clone <your-repo-url>
cd BanglaMovieReviewer
# Run setup script (first time: 10-15 minutes)
.\run_all.batcd backend
python -m venv venv
call venv\Scripts\activate.bat
pip install -r requirements.txt
python manage.py migrate
python manage.py runservercd frontend
npm install
npm start-
Start Application:
.\start.bat -
Open Browser: http://localhost:3000
-
Select Model: Choose from dropdown (6 models)
-
Enter Review: Type Bangla movie review (max 5000 chars)
-
Analyze: Click "বিঢΰ§ΰ¦²ΰ§ΰ¦·ΰ¦£ ΰ¦ΰ¦°ΰ§ΰ¦¨"
-
View Results:
- Sentiment (Positive/Negative/Neutral)
- Confidence percentage
- Word importance scores
- Color-coded word highlighting
cd backend
call venv\Scripts\activate.bat
python auto_test.pyTests Include:
- β Backend connection
- β Model availability (6 models)
- β Valid analysis
- β Input validation
- β Edge cases
- β All models working
Expected: 7/7 tests pass
BanglaMovieReviewer/
βββ backend/ # Django backend
β βββ sentiment_api/ # Main API app
β βββ config/ # Django settings
β βββ requirements.txt # Python dependencies
βββ frontend/ # React frontend
β βββ src/ # Source code
β βββ package.json # Node dependencies
βββ docs/ # Documentation
βββ screenshots/ # UI screenshots
βββ start.bat # Quick start script
βββ run_all.bat # Full setup script
Detailed Structure: See PROJECT_DOCUMENTATION.md
| Method | Endpoint | Description |
|---|---|---|
| GET | /models/ |
List available models |
| POST | /analyze/ |
Analyze sentiment |
| GET | /history/ |
Get analysis history |
Full API Docs: See docs/API_DOCUMENTATION.md
- π― 6 models with unique icons
- π« Smooth animations
- π¨ Gradient background
- β¨ Hover effects
- π Active state highlighting
- β Empty text detection
- β Character limit (5000)
- β Real-time counter
- β Error messages in Bangla
- π Sentiment classification
- π― Confidence percentage
- π¨ Word highlighting
- π Importance scores
- π Easy model switching
All models automatically download from Hugging Face on first use. No large files in repository!
DJANGO_SECRET_KEY=your-secret-key
DEBUG=False
ALLOWED_HOSTS=your-domain.com- Heroku
- Railway
- Render
- AWS
- Google Cloud
Deployment Guide: See docs/DEPLOYMENT.md
- PROJECT_DOCUMENTATION.md - Complete project overview
- SETUP_GUIDE.md - Detailed setup instructions
- docs/API_DOCUMENTATION.md - API reference
- docs/TROUBLESHOOTING.md - Common issues
- Fork the repository
- Create feature branch (
git checkout -b feature/AmazingFeature) - Commit changes (
git commit -m 'Add AmazingFeature') - Push to branch (
git push origin feature/AmazingFeature) - Open Pull Request
cd backend
call venv\Scripts\activate.bat
pip install -r requirements.txt
python manage.py migratecd frontend
npm install
npm start- Check internet connection
- Verify Hugging Face is accessible
- Wait patiently (first download takes 2-3 min per model)
More Solutions: See docs/TROUBLESHOOTING.md
| Model | Accuracy | Speed | Size |
|---|---|---|---|
| BanglaBERT | βββββ | βββ | Large |
| mBERT | ββββ | βββ | Large |
| CNN | ββββ | ββββ | Medium |
| Masked_LSTM | ββββ | βββ | Medium |
| LightGBM | βββ | βββββ | Small |
| Logistic Regression | βββ | βββββ | Small |
This project is licensed under the MIT License - see the LICENSE file for details.
Hugging Face Models: shksabbir7
Models:
- bangla-movie-sentiment-banglabert
- bangla-movie-sentiment-mbert
- bangla-movie-sentiment-cnn
- bangla-movie-sentiment-lstm
- bangla-movie-sentiment-lightgbm
- bangla-movie-sentiment-logreg
- Hugging Face for model hosting
- Django & React communities
- Bangla NLP community
- All contributors
- Issues: GitHub Issues
- Documentation: docs/
- Email: your-email@example.com
# First time setup
.\run_all.bat
# Daily usage
.\start.bat
# Run tests
cd backend && python auto_test.py
# Stop servers
# Close both terminal windowsMade with β€οΈ for Bangla NLP
Star β this repo if you find it useful!




