This project is a web-based Chatbot built for educational purposes, demonstrating Python, SQL, and Flask skills. It aims to identify common cognitive distortions in user inputs and provide constructive feedback and suggestions. This repository is created entirely for educational purposes.
- Thought Input: Allows users to log in, record their stress levels and input thoughts or statements.
- Distortion Identification: The chatbot analyzes these thoughts and identifies if any common cognitive distortions are present.
- Explanation and Education: Provides explanations of the identified cognitive distortions and their potential negative effects.
- Reframing Suggestions: Suggests more balanced or rational perspectives to think about the situation.
- Progress Tracking: Tracks which distortions are most common for the user over time.
- Stress Level Assessment: Allows users to rate their current stress or anxiety levels.
- Personalized Suggestions: Offers specific techniques for stress relief based on the user’s response.
To run this project, you need the following Python libraries:
- Flask: A web framework for Python.
- Flask-SQLAlchemy: An extension for Flask that simplifies the use of SQLAlchemy for database operations.
- Flask-Login: A Flask extension that provides user session management.
- Flask-Session: A Flask extension that provides server-side session capabilities.
- Werkzeug: A WSGI utility library for Python, used here for password hashing utilities.
- SQLite: A C library that provides a lightweight disk-based database.
The current implementation for identifying cognitive distortions is simple and might yield many false positives or negatives. It's recommended to utilize natural language processing (NLP) techniques or machine learning models for more accurate results in a real-world application.
My focus is not on front-end development, and UI/UX design is not where I shine. This project was meant as an exercise and a fun way to showcase my skills.