Skip to content

ldodson10/sentiment-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🧠 Sentiment Analysis Web Tool

🛠️ Technologies Used (Implementation Summary)

  • TextBlob (Python NLP Library) — Configured and integrated a sentiment-analysis pipeline capable of evaluating text polarity and subjectivity for user-submitted entries.

  • Flask Framework — Built a lightweight, modular web application supporting real-time text input, prediction processing, and dynamic template rendering.

  • Flask-SQLAlchemy ORM — Implemented relational data modeling for persistent storage of sentiment entries using an SQLite backend.

  • SQLite Database — Designed a compact, file-based database for efficient local data management during development and testing.

  • HTML5 / CSS3 Front-End — Developed responsive user interfaces for data input and results display with clean, minimal styling.

  • Render Cloud Hosting — Deployed the Flask application via Render for continuous integration and delivery (CI/CD) directly from GitHub.

🚀 How to Run Locally

  1. Clone the repository git clone https://github.com/ldodson10/sentiment-app.git cd sentiment-app
  2. Create and activate a virtual environment (recommended): python -m venv venv venv\Scripts\activate # On Windows
  3. Install the required packages: pip install -r requirements.txt
  4. Run the application: python app.py Visit http://localhost:5000 in your browser.

☁️ Deployment with Render This project is deployed using Render, a cloud hosting platform that enables developers to launch web applications with ease.

⚡ Why Render? Render simplifies the process of hosting and running backend applications like this Flask-based sentiment analysis tool. It automatically pulls the latest code from GitHub and deploys it, eliminating the need to manually manage infrastructure.

🔧 Workflow Overview GitHub is used to store, version, and manage the project code. Render connects to the GitHub repository, builds the application, and hosts it live.


🧪 Deployment Verification

The local Flask environment was successfully rebuilt and verified on Windows PowerShell 5.1. The application launched successfully on http://127.0.0.1:5000, confirming that dependencies, routes, and templates were restored correctly.

Verification Screenshot: Local Flask App Running

🔗 Live Demo: https://sentiment-app-6y17.onrender.com

🗂️ Project Structure

📁 sentiment-app/ ├── app.py # Main application logic
├── requirements.txt # Python dependencies
├── render.yaml # Render deployment configuration
├── templates/
│ ├── index.html # Input form page
│ └── result.html # Output results page
├── static/ # Static assets (if any)
├── docs/
│ └── *.png # Sentiment screenshots and verification evidence
└── README.md # Project documentation

🧠 Sentiment Analysis Testing & Results

After resolving the textblob.exceptions.MissingCorpusError and restoring Flask server connectivity, the Sentiment App was tested using three statements representing different emotional tones. Each statement referenced gratitude for the TKH Cybersecurity Fellowship and an interaction with a Career Specialist.


🧩 Test Inputs

  1. Positive

    "I feel deeply grateful for the TKH Cybersecurity Fellowship and inspired after speaking with a Career Specialist, whose wisdom and guidance have filled me with clarity and renewed motivation."

  2. Neutral

    "I am thankful for the TKH Cybersecurity Fellowship, and my recent conversation with a Career Specialist offered helpful insights that clarified my next professional steps."

  3. Negative (Expected)

    "Although I'm grateful for the TKH Cybersecurity Fellowship, I felt discouraged after realizing how much I still have to learn despite my Career Specialist's efforts to guide me."


📊 Results Summary

Test Case Expected Sentiment App Result Notes
Positive Positive 😊 ✅ Positive Matches expectation
Neutral Neutral 😐 ➡️ Positive Lexical bias toward gratitude phrasing
Negative Negative 😞 ➡️ Positive Model interprets learning/growth terms as positive contextually

📸 Evidence Screenshots

Description File Name
Positive Result #1 LocalApp_Run_Success_SentimentApp_Positive_1.png
Positive Result #2 LocalApp_Run_Success_SentimentApp_Positive_2.png
Positive Result #3 (Expected Negative) LocalApp_Run_Success_SentimentApp_Positive_3.png

Positive Result #1 Positive Result #2 Positive Result #3 (Expected Negative)


🧭 Observations

TextBlob's sentiment analyzer displays a consistent bias toward positive classification when sentences contain gratitude-oriented or reflective language.
This demonstrates a common limitation of rule-based sentiment models: they evaluate polarity primarily through individual words rather than contextual nuance.

🚀 Future Improvements

  • Enhanced Sentiment Modeling — Integrate advanced Transformer-based models such as DistilBERT, RoBERTa, or VADER for improved contextual understanding and more accurate classification of nuanced emotions.
  • User Authentication — Implement secure user login and personalized dashboards to track sentiment history across multiple sessions.
  • Data Visualization Dashboard — Add interactive charts and graphs (using Plotly or Chart.js) to visualize overall sentiment trends and distribution over time.
  • Multilingual Support — Extend TextBlob or Hugging Face pipelines to support additional languages, enhancing inclusivity and global usability.
  • Automated Testing & CI/CD Pipeline — Integrate GitHub Actions to automate testing, linting, and deployments to Render with every push.
  • Containerization — Package the application using Docker for consistent environment replication and seamless deployment to other platforms.
  • API Endpoint Expansion — Develop RESTful API endpoints for third-party integration, enabling external systems to submit text and retrieve sentiment results programmatically.

This roadmap ensures that the Sentiment App continues to evolve as a scalable, intelligent, and production-ready NLP application.


🪶 Author & Verification

Developed by: Latrisha Dodson
Project Repository: https://github.com/ldodson10/sentiment-app
Status: ✅ Functional — Verified local Flask execution, Render deployment, and sentiment classification results.

✅ Render Deployment Verification

The Render service and URL were verified as active on October 18, 2025.

Evidence Description
Render Project Active Render dashboard showing all services up and running.
Render URL Validation Successful access of deployed app via Render URL.

The deployment confirms the Sentiment App is live and functional on Render’s Free Tier environment.

This project represents an applied demonstration of natural language processing (NLP) and cloud deployment fundamentals, integrating model testing, debugging, and performance validation.


Updated and verified: October 18, 2025 — Functional Sentiment App deployment confirmed on Render and localhost.


About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published