# Mental Health Score
Mansik-Santulan-Score is a full-stack web application and machine learning project that predicts a student's mental health score based on various lifestyle and social media usage factors.
## Overview
The project uses a trained machine learning model to analyze student data such as:
- Age and Gender
- Academic Level & Country
- Social media platform preferences and usage hours
- Study, physical activity, and sleep hours
- Self-reported stress levels
It provides an intuitive web interface for users to enter their habits and instantly receive an estimated mental health score out of 10, complete with a gauge visualization and feedback bands (strained, balanced, strong).
## Project Structure
- **Frontend (Static UI)**: HTML, CSS, and Vanilla JavaScript (`index.html`, `style.css`, `script.js`). The UI features interactive elements and real-time form validation.
- **Backend (API)**: A fast, lightweight Python server using FastAPI (`main.py`) and Pydantic for data validation.
- **Machine Learning**:
- `Mental_Health_Model.pkl`: The trained predictive model (built using scikit-learn).
- `ML_Project.ipynb`: Jupyter notebook containing the exploratory data analysis and model training pipeline.
- `Student Social Media And Mental Health Impact.csv`: The dataset used to train the model.
## Running Locally
### Prerequisites
- Python 3.8+
- A modern web browser
### 1. Start the Backend API
1. Open a terminal in the project directory.
2. Install the required Python dependencies:
```bash
pip install -r requirements.txt
```
3. Run the FastAPI server using Uvicorn:
```bash
uvicorn main:app --reload
```
*The API will start running at `
127.0.0.1`.*
### 2. Start the Frontend
1. Open the `script.js` file.
2. For local testing, ensure the `API_BASE` points to your local server:
```javascript
const API_BASE = "
127.0.0.1";
```
3. Simply open `index.html` in your web browser. Alternatively, you can serve it with a local HTTP server:
```b …