Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
71 commits
Select commit Hold shift + click to select a range
86e5cae
Enhance Crisis Support with GeoIP-based helpline detection and IASP f…
tilakjain619 Jul 23, 2025
e37dca2
Resolved merge conflicts and updated sidebar with crisis support logic
tilakjain619 Jul 24, 2025
c7eb9a8
UI-Enhancements #39
Neermita18 Jul 26, 2025
a15c7ea
Added Yoga for Mental Health feature based on mood (GSSoC'25 Level 2)
LayaYeldandi3 Jul 27, 2025
c582a09
Merge pull request #53 from eccentriccoder01/revert-51-Sql_Database
eccentriccoder01 Jul 27, 2025
e2287dc
Merge remote-tracking branch 'upstream/main'
LayaYeldandi3 Jul 27, 2025
3035d37
Add streamlit-lottie to requirements
LayaYeldandi3 Jul 27, 2025
5836fb6
Force added yoga_animation and yoga.json files
LayaYeldandi3 Jul 27, 2025
dcf3937
Force added Yoga.json data file
LayaYeldandi3 Jul 27, 2025
eb75a41
Fixed Yoga.py to load updated Yoga.json correctly
LayaYeldandi3 Jul 27, 2025
67ca01f
Merge branch 'main' of https://github.com/Neermita18/TalkHeal into Ne…
Neermita18 Jul 27, 2025
f8e2c90
add streamlit.toml
Neermita18 Jul 27, 2025
ea7b371
Add user profile management module with avatar support
pvedha24 Jul 27, 2025
b784704
Merge pull request #56 from pvedha24/feature/profile-management-module
eccentriccoder01 Jul 27, 2025
ee71543
Merge branch 'main' of https://github.com/Neermita18/TalkHeal into Ne…
Neermita18 Jul 27, 2025
95ef3ef
Merge pull request #49 from Neermita18/Neermita18/UI-Enhancements-#39
eccentriccoder01 Jul 27, 2025
50863e1
Update sidebar.py
eccentriccoder01 Jul 27, 2025
097c3e9
Resolved merge conflicts with upstream/main
LayaYeldandi3 Jul 28, 2025
a34a86f
Merge pull request #54 from LayaYeldandi3/main
eccentriccoder01 Jul 28, 2025
4bc3f06
Update Yoga.py
eccentriccoder01 Jul 28, 2025
4a5ded9
Update Yoga.py
eccentriccoder01 Jul 28, 2025
dd12b6f
Update Yoga.py
eccentriccoder01 Jul 28, 2025
9c5b7ff
Update Yoga.py
eccentriccoder01 Jul 28, 2025
f3aea35
Added breathing exercise to components folder
SharanyaAchanta Jul 28, 2025
1987820
Merge pull request #58 from SharanyaAchanta/main
eccentriccoder01 Jul 28, 2025
9096989
Add journaling feature to TalkHeal
srishti1837 Jul 29, 2025
5b6be88
Update
eccentriccoder01 Jul 29, 2025
bdc26f8
Update
eccentriccoder01 Jul 29, 2025
290bc0d
Added Journal Page and login setup for the same
srishti1837 Jul 29, 2025
f254296
Add bcrypt to requirements for deployment
srishti1837 Jul 29, 2025
6276450
Update
eccentriccoder01 Jul 29, 2025
0c986c6
Merge pull request #61 from srishti1837/journaling-feature
eccentriccoder01 Jul 30, 2025
d807ead
Update
eccentriccoder01 Jul 30, 2025
9030e86
Update sync-issue-labels.yml
eccentriccoder01 Jul 30, 2025
299bdba
Update sync-issue-labels.yml
eccentriccoder01 Jul 30, 2025
7533535
Update sync-issue-labels.yml
eccentriccoder01 Jul 30, 2025
72cb962
Update sync-issue-labels.yml
eccentriccoder01 Jul 30, 2025
321e911
Update sync-issue-labels.yml
eccentriccoder01 Jul 30, 2025
daeb976
Update sync-issue-labels.yml
eccentriccoder01 Jul 30, 2025
9e08320
Update sync-issue-labels.yml
eccentriccoder01 Jul 30, 2025
156d633
Update sync-issue-labels.yml
eccentriccoder01 Jul 30, 2025
81b51f8
Update sync-issue-labels.yml
eccentriccoder01 Jul 30, 2025
e92647d
Update sync-issue-labels.yml
eccentriccoder01 Jul 30, 2025
2b9f973
Update sync-issue-labels.yml
eccentriccoder01 Jul 30, 2025
764e092
Update sync-issue-labels.yml
eccentriccoder01 Jul 30, 2025
b5c1d78
Create assign-pr-authors.yml
eccentriccoder01 Jul 30, 2025
b640ec7
Update assign-pr-authors.yml
eccentriccoder01 Jul 30, 2025
5103eb3
Update assign-pr-authors.yml
eccentriccoder01 Jul 30, 2025
2bb097c
Update assign-pr-authors.yml
eccentriccoder01 Jul 30, 2025
67cd988
Rename assign-pr-authors.yml to auto-author-assign.yml
eccentriccoder01 Jul 30, 2025
eaafe22
Update README.md
mreccentric01 Jul 30, 2025
a2a3f5f
Merge pull request #73 from mreccentric01/patch-1
eccentriccoder01 Jul 30, 2025
2f2892a
Update sync-issue-labels.yml
eccentriccoder01 Jul 30, 2025
2f27cb6
Update
eccentriccoder01 Jul 30, 2025
4551207
Added Templates
Adez017 Jul 31, 2025
8fa5b10
Merge pull request #76 from Adez017/main
eccentriccoder01 Jul 31, 2025
3c77ffb
Resolved geo detection by adding mulitple fallbacks
tilakjain619 Jul 31, 2025
69463fa
Merge branch 'eccentriccoder01:main' into feature/crisis-support
tilakjain619 Jul 31, 2025
07658c1
fix: Retry GeoIP helpline detection patch after incomplete commit
tilakjain619 Jul 31, 2025
8e689f4
fix: hide sidebar and chat UI on login screen using session_state
PragnyaKhandelwal Jul 31, 2025
3e452fc
fix: hide sidebar and chat UI on login screen using session_state
PragnyaKhandelwal Jul 31, 2025
4541fbd
Merge pull request #25 from tilakjain619/feature/crisis-support
eccentriccoder01 Jul 31, 2025
9760c95
update
PragnyaKhandelwal Jul 31, 2025
476626d
Resolved users.db conflict
PragnyaKhandelwal Jul 31, 2025
dacf0ee
Merge branch 'eccentriccoder01:main' into main
PragnyaKhandelwal Jul 31, 2025
4955a5c
Add keyboard navigation for mood slider with ARIA attributes
Dbansal06 Jul 31, 2025
0283fa5
Update streamlit.toml
PragnyaKhandelwal Aug 1, 2025
a0ff079
Merge pull request #77 from PragnyaKhandelwal/main
eccentriccoder01 Aug 2, 2025
730590f
Resolved merge conflict in TalkHeal.py
Dbansal06 Aug 2, 2025
2a4080b
Resolved merge conflict in TalkHeal.py
Dbansal06 Aug 2, 2025
8dc4370
Merge pull request #78 from Dbansal06/feature/mood-slider-keyboard-na…
eccentriccoder01 Aug 2, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# These are supported funding model platforms

github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
patreon: #
open_collective: # Replace with a single Open Collective username
ko_fi: # Replace with a single Ko-fi username
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
liberapay: # Replace with a single Liberapay username
issuehunt: # Replace with a single IssueHunt username
lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry
polar: # Replace with a single Polar username
buy_me_a_coffee: mreccentric
thanks_dev: #
custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
27 changes: 27 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: Bug report
description: Create a report to help us improve
labels: bug
body:
- type: textarea
attributes:
label: Describe the bug
description: Describe the bug.
placeholder: >
A clear and concise description of what the bug is.
validations:
required: true
- type: textarea
attributes:
label: To Reproduce
placeholder: >
Steps to reproduce the behavior:
- type: textarea
attributes:
label: Expected behavior
placeholder: >
A clear and concise description of what you expected to happen.
- type: textarea
attributes:
label: Additional context
placeholder: >
Add any other context about the problem here.
2 changes: 2 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
blank_issue_enable: true
blank_issue_title: "Please provide a title for your issue"
26 changes: 26 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
name: Feature request
description: Suggest an idea for this project
labels: enhancement
body:
- type: textarea
attributes:
label: Is your feature request related to a problem or challenge?
description: Please describe what you are trying to do.
placeholder: >
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
(This section helps developers understand the context and *why* for this feature, in addition to the *what*)
- type: textarea
attributes:
label: Describe the solution you'd like
placeholder: >
A clear and concise description of what you want to happen.
- type: textarea
attributes:
label: Describe alternatives you've considered
placeholder: >
A clear and concise description of any alternative solutions or features you've considered.
- type: textarea
attributes:
label: Additional context
placeholder: >
Add any other context or screenshots about the feature request here.
38 changes: 38 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
## Which issue does this PR close?

<!--
We generally require a GitHub issue to be filed for all bug fixes and enhancements and this helps us generate change logs for our releases. You can link an issue to this PR using the GitHub syntax. For example `Closes #123` indicates that this PR will close issue #123.
-->

- Closes #.

## Rationale for this change

<!--
Why are you proposing this change? If this is already explained clearly in the issue then this section is not needed.
Explaining clearly why changes are proposed helps reviewers understand your changes and offer better suggestions for fixes.
-->

## What changes are included in this PR?

<!--
There is no need to duplicate the description in the issue here but it is sometimes worth providing a summary of the individual changes in this PR.
-->

## Are these changes tested?

<!--
We typically require tests for all PRs in order to:
1. Prevent the code from being accidentally broken by subsequent changes
2. Serve as another way to document the expected behavior of the code
-->

## Are there any user-facing changes?

<!--
If there are user-facing changes then we may require documentation to be updated before approving the PR.
-->

<!--
If there are any breaking changes to public APIs, please add the `api change` label.
-->
16 changes: 16 additions & 0 deletions .github/workflows/auto-author-assign.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
name: Auto Author Assign

on:
pull_request_target:
types: [ opened, reopened ]

permissions:
pull-requests: write

jobs:
assign-author:
runs-on: ubuntu-latest
steps:
- uses: toshimaru/auto-author-assign@v2.1.1
with:
repo-token: ${{ secrets.GH_PERSONAL_TOKEN }}
58 changes: 58 additions & 0 deletions .github/workflows/sync-issue-labels.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
name: Sync Labels from Issues to Merged PRs

on:
workflow_dispatch:
schedule:
- cron: '0 2 * * *'

jobs:
sync-labels:
runs-on: ubuntu-latest

steps:
- name: Checkout repo
uses: actions/checkout@v4

- name: Install GitHub CLI & jq
run: |
sudo apt-get update
sudo apt-get install -y gh jq

- name: Sync labels from linked issues to merged PRs
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
REPO: eccentriccoder01/talkheal
run: |
echo "📥 Fetching merged PRs for $REPO..."
gh pr list --state merged --limit 100 --repo "$REPO" --json number,title,body > merged_prs.json

jq -c '.[]' merged_prs.json | while read -r pr; do
pr_number=$(echo "$pr" | jq -r '.number')
pr_title=$(echo "$pr" | jq -r '.title')
pr_body=$(echo "$pr" | jq -r '.body')

issue_number=$(echo "$pr_title $pr_body" | grep -oE '#[0-9]+' | head -n 1 | tr -d '#')

if [ -z "$issue_number" ]; then
echo "❌ PR #$pr_number has no linked issue."
continue
fi

echo "🔗 PR #$pr_number linked to issue #$issue_number"

issue_labels=$(gh issue view "$issue_number" --repo "$REPO" --json labels | jq -r '.labels[].name')

if [ -z "$issue_labels" ]; then
echo "⚠️ Issue #$issue_number has no labels."
continue
fi

while IFS= read -r label; do
echo "🏷️ Applying label '$label' to PR #$pr_number..."
gh pr edit "$pr_number" --repo "$REPO" --add-label "$label"
done <<< "$issue_labels"

sleep 0.5
done

echo "✅ Done syncing labels."
1 change: 1 addition & 0 deletions .streamlit/secrets.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
GEMINI_API_KEY = "AIzaSyDsLJgA58LvgFtnUdVBLFb08GZQV0wXYjQ"
56 changes: 25 additions & 31 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

## 🧠 Your AI-Powered Mental Health Companion

**TalkHeal** is an empathetic, intelligent, and interactive mental health support assistant built using **Python** and **Streamlit**. Designed with compassion and care at its core, it offers 24/7 support, emotional journaling, resource guidance, and AI-powered conversations powered by Google’s Gemini Pro.
**TalkHeal** is an empathetic, intelligent, and interactive mental health support assistant built using **Python** and **Streamlit**. Designed with compassion and care at its core, it offers 24/7 support, emotional journaling, resource guidance, and AI-powered conversations powered by Google’s Gemini.

---

Expand Down Expand Up @@ -56,29 +56,26 @@

## 📊 Project Stats

<p align="center">
<a href="https://github.com/eccentriccoder01/TalkHeal">
<img alt="GitHub Stars" src="https://img.shields.io/github/stars/eccentriccoder01/TalkHeal?style=flat-square" />
</a>
<a href="https://github.com/eccentriccoder01/TalkHeal/fork">
<img alt="GitHub Forks" src="https://img.shields.io/github/forks/eccentriccoder01/TalkHeal?style=flat-square" />
</a>
<a href="https://github.com/eccentriccoder01/TalkHeal/graphs/contributors">
<img alt="Contributors" src="https://img.shields.io/github/contributors/eccentriccoder01/TalkHeal?style=flat-square" />
</a>
<a href="https://github.com/eccentriccoder01/TalkHeal/issues">
<img alt="Open Issues" src="https://img.shields.io/github/issues/eccentriccoder01/TalkHeal?style=flat-square" />
</a>
<a href="https://github.com/eccentriccoder01/TalkHeal/pulls">
<img alt="Open Pull Requests" src="https://img.shields.io/github/issues-pr/eccentriccoder01/TalkHeal?style=flat-square" />
</a>
<a href="https://github.com/eccentriccoder01/TalkHeal/commits/main">
<img alt="Last Commit" src="https://img.shields.io/github/last-commit/eccentriccoder01/TalkHeal?style=flat-square" />
</a>
<a href="https://github.com/eccentriccoder01/TalkHeal/blob/main/LICENSE">
<img alt="License" src="https://img.shields.io/github/license/eccentriccoder01/TalkHeal?style=flat-square" />
</a>
<div align="center">
<p>

[![Open Source Love svg1](https://badges.frapsoft.com/os/v1/open-source.svg?v=103)](https://github.com/ellerbrock/open-source-badges/)
![PRs Welcome](https://img.shields.io/badge/PRs-Welcome-brightgreen.svg?style=flat)
![Visitors](https://api.visitorbadge.io/api/Visitors?path=eccentriccoder01%2FTalkHeal%20&countColor=%23263759&style=flat)
![GitHub Forks](https://img.shields.io/github/forks/eccentriccoder01/TalkHeal)
![GitHub Repo Stars](https://img.shields.io/github/stars/eccentriccoder01/TalkHeal)
![GitHub Contributors](https://img.shields.io/github/contributors/eccentriccoder01/TalkHeal)
![GitHub Last Commit](https://img.shields.io/github/last-commit/eccentriccoder01/TalkHeal)
![GitHub Repo Size](https://img.shields.io/github/repo-size/eccentriccoder01/TalkHeal)
![GitHub Total Lines](https://sloc.xyz/github/eccentriccoder01/TalkHeal)
![Github](https://img.shields.io/github/license/eccentriccoder01/TalkHeal)
![GitHub Issues](https://img.shields.io/github/issues/eccentriccoder01/TalkHeal)
![GitHub Closed Issues](https://img.shields.io/github/issues-closed-raw/eccentriccoder01/TalkHeal)
![GitHub Pull Requests](https://img.shields.io/github/issues-pr/eccentriccoder01/TalkHeal)
![GitHub Closed Pull Requests](https://img.shields.io/github/issues-pr-closed/eccentriccoder01/TalkHeal)

</p>
</div>

---

Expand All @@ -104,14 +101,11 @@ For a detailed walkthrough of TalkHeal's features and how to use them, check out

## 🛠️ Technologies Used

| Tech | Purpose |
| --------------------- | --------------------------------- |
| **Python** | Core backend and AI logic |
| **Streamlit** | UI and frontend integration |
| **Google Gemini API** | Generative AI Conversations |
| **Session State** | Manage multi-threaded chat memory |
| **CSS Variables** | Theming and modern styling |
| **Streamlit Secrets** | Secure API key management |
![Python](https://img.shields.io/badge/Python-20232A?style=for-the-badge&logo=python&logoColor=61DAFB)
![CSS](https://img.shields.io/badge/CSS-38B2AC?style=for-the-badge&logo=css&logoColor=white)
![SQLite](https://img.shields.io/badge/SQLite-4EA94B?style=for-the-badge&logo=sqlite&logoColor=white)
![Gemini](https://img.shields.io/badge/Gemini-3448C5?style=for-the-badge&logo=google&logoColor=white)
![Streamlit](https://img.shields.io/badge/Streamlit-0099FF?style=for-the-badge&logo=streamlit&logoColor=white)

---

Expand Down
Loading