Skip to content

Commit 7187f22

Browse files
Merge branch 'main' into emoji-mood-selector
2 parents 83be187 + 8dc4370 commit 7187f22

36 files changed

+1658
-91
lines changed

.github/FUNDING.yml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# These are supported funding model platforms
2+
3+
github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
4+
patreon: #
5+
open_collective: # Replace with a single Open Collective username
6+
ko_fi: # Replace with a single Ko-fi username
7+
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
8+
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
9+
liberapay: # Replace with a single Liberapay username
10+
issuehunt: # Replace with a single IssueHunt username
11+
lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry
12+
polar: # Replace with a single Polar username
13+
buy_me_a_coffee: mreccentric
14+
thanks_dev: #
15+
custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
name: Bug report
2+
description: Create a report to help us improve
3+
labels: bug
4+
body:
5+
- type: textarea
6+
attributes:
7+
label: Describe the bug
8+
description: Describe the bug.
9+
placeholder: >
10+
A clear and concise description of what the bug is.
11+
validations:
12+
required: true
13+
- type: textarea
14+
attributes:
15+
label: To Reproduce
16+
placeholder: >
17+
Steps to reproduce the behavior:
18+
- type: textarea
19+
attributes:
20+
label: Expected behavior
21+
placeholder: >
22+
A clear and concise description of what you expected to happen.
23+
- type: textarea
24+
attributes:
25+
label: Additional context
26+
placeholder: >
27+
Add any other context about the problem here.

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
blank_issue_enable: true
2+
blank_issue_title: "Please provide a title for your issue"
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
name: Feature request
2+
description: Suggest an idea for this project
3+
labels: enhancement
4+
body:
5+
- type: textarea
6+
attributes:
7+
label: Is your feature request related to a problem or challenge?
8+
description: Please describe what you are trying to do.
9+
placeholder: >
10+
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
11+
(This section helps developers understand the context and *why* for this feature, in addition to the *what*)
12+
- type: textarea
13+
attributes:
14+
label: Describe the solution you'd like
15+
placeholder: >
16+
A clear and concise description of what you want to happen.
17+
- type: textarea
18+
attributes:
19+
label: Describe alternatives you've considered
20+
placeholder: >
21+
A clear and concise description of any alternative solutions or features you've considered.
22+
- type: textarea
23+
attributes:
24+
label: Additional context
25+
placeholder: >
26+
Add any other context or screenshots about the feature request here.

.github/pull_request_template.md

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
## Which issue does this PR close?
2+
3+
<!--
4+
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.
5+
-->
6+
7+
- Closes #.
8+
9+
## Rationale for this change
10+
11+
<!--
12+
Why are you proposing this change? If this is already explained clearly in the issue then this section is not needed.
13+
Explaining clearly why changes are proposed helps reviewers understand your changes and offer better suggestions for fixes.
14+
-->
15+
16+
## What changes are included in this PR?
17+
18+
<!--
19+
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.
20+
-->
21+
22+
## Are these changes tested?
23+
24+
<!--
25+
We typically require tests for all PRs in order to:
26+
1. Prevent the code from being accidentally broken by subsequent changes
27+
2. Serve as another way to document the expected behavior of the code
28+
-->
29+
30+
## Are there any user-facing changes?
31+
32+
<!--
33+
If there are user-facing changes then we may require documentation to be updated before approving the PR.
34+
-->
35+
36+
<!--
37+
If there are any breaking changes to public APIs, please add the `api change` label.
38+
-->
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
name: Auto Author Assign
2+
3+
on:
4+
pull_request_target:
5+
types: [ opened, reopened ]
6+
7+
permissions:
8+
pull-requests: write
9+
10+
jobs:
11+
assign-author:
12+
runs-on: ubuntu-latest
13+
steps:
14+
- uses: toshimaru/auto-author-assign@v2.1.1
15+
with:
16+
repo-token: ${{ secrets.GH_PERSONAL_TOKEN }}
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
name: Sync Labels from Issues to Merged PRs
2+
3+
on:
4+
workflow_dispatch:
5+
schedule:
6+
- cron: '0 2 * * *'
7+
8+
jobs:
9+
sync-labels:
10+
runs-on: ubuntu-latest
11+
12+
steps:
13+
- name: Checkout repo
14+
uses: actions/checkout@v4
15+
16+
- name: Install GitHub CLI & jq
17+
run: |
18+
sudo apt-get update
19+
sudo apt-get install -y gh jq
20+
21+
- name: Sync labels from linked issues to merged PRs
22+
env:
23+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
24+
REPO: eccentriccoder01/talkheal
25+
run: |
26+
echo "📥 Fetching merged PRs for $REPO..."
27+
gh pr list --state merged --limit 100 --repo "$REPO" --json number,title,body > merged_prs.json
28+
29+
jq -c '.[]' merged_prs.json | while read -r pr; do
30+
pr_number=$(echo "$pr" | jq -r '.number')
31+
pr_title=$(echo "$pr" | jq -r '.title')
32+
pr_body=$(echo "$pr" | jq -r '.body')
33+
34+
issue_number=$(echo "$pr_title $pr_body" | grep -oE '#[0-9]+' | head -n 1 | tr -d '#')
35+
36+
if [ -z "$issue_number" ]; then
37+
echo "❌ PR #$pr_number has no linked issue."
38+
continue
39+
fi
40+
41+
echo "🔗 PR #$pr_number linked to issue #$issue_number"
42+
43+
issue_labels=$(gh issue view "$issue_number" --repo "$REPO" --json labels | jq -r '.labels[].name')
44+
45+
if [ -z "$issue_labels" ]; then
46+
echo "⚠️ Issue #$issue_number has no labels."
47+
continue
48+
fi
49+
50+
while IFS= read -r label; do
51+
echo "🏷️ Applying label '$label' to PR #$pr_number..."
52+
gh pr edit "$pr_number" --repo "$REPO" --add-label "$label"
53+
done <<< "$issue_labels"
54+
55+
sleep 0.5
56+
done
57+
58+
echo "✅ Done syncing labels."

.streamlit/secrets.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
GEMINI_API_KEY = "AIzaSyDsLJgA58LvgFtnUdVBLFb08GZQV0wXYjQ"

App.png

-790 KB
Binary file not shown.

README.md

Lines changed: 47 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
## 🧠 Your AI-Powered Mental Health Companion
66

7-
**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.
7+
**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.
88

99
---
1010

@@ -15,13 +15,18 @@
1515
* Gemini-powered chatbot for mental health companionship
1616
* Empathetic and encouraging tone—never clinical or diagnostic
1717
* Smart conversation history with multi-threaded support
18-
* Chatbot personality tone selector
19-
18+
* **Chatbot personality tone selector**:
19+
*Compassionate Listener*, *Motivating Coach*, *Wise Friend*, *Neutral Therapist*, *Mindfulness Guide*
20+
2021
### 📘 Resource & Crisis Help
2122

23+
* Emergency Help Button — instantly access local support via Google Maps
24+
* International helpline directory and global mental health resources
2225
* Mental health resource library with live search
23-
* International emergency contacts and helpline shortcuts
24-
* Quick access to location-based therapy centers via Google Maps
26+
27+
### 🧪 Science-Backed Assessments
28+
29+
* Integrated **PsyToolkit**-verified mental health quizzes for self-evaluation
2530

2631
### 💖 Mood Tracking & Journaling
2732

@@ -34,21 +39,25 @@
3439
* Instant-start suggestions like “Feeling overwhelmed” or “How to manage stress?”
3540
* Direct conversion of journal thoughts into chatbot prompts
3641

37-
### 🎨 Clean, Minimal UI
42+
### 🎨 Themes & UI
3843

39-
* Sidebar toggling for focus-driven interaction
40-
* 3D-inspired soft pink and magenta UI, best suited for a mentally soothing and peaceful outlook
44+
* Multiple soothing themes: **Light**, **Calm Blue**, **Mint**, **Lavender**, **Pink**, and **Dark**
45+
* 3D-inspired soft pink and magenta UI for a mentally soothing experience
4146
* Smooth transitions and responsive design for mobile and desktop
4247

4348
---
4449

4550
## 🚀 Live Demo
4651

47-
Experience TalkHeal live here:
48-
👉 [![**TalkHeal**](https://img.shields.io/badge/View-Live%20Demo-brightgreen?style=for-the-badge)](https://www.google.com/search?q=https://TalkHeal.streamlit.app)
52+
### 🎯 **Experience TalkHeal live now!**
53+
🔗 [https://TalkHeal.streamlit.app](https://TalkHeal.streamlit.app)
4954

50-
<div align="center">
51-
<p>
55+
---
56+
57+
## 📊 Project Stats
58+
59+
<div align="center">
60+
<p>
5261

5362
[![Open Source Love svg1](https://badges.frapsoft.com/os/v1/open-source.svg?v=103)](https://github.com/ellerbrock/open-source-badges/)
5463
![PRs Welcome](https://img.shields.io/badge/PRs-Welcome-brightgreen.svg?style=flat)
@@ -64,12 +73,23 @@ Experience TalkHeal live here:
6473
![GitHub Closed Issues](https://img.shields.io/github/issues-closed-raw/eccentriccoder01/TalkHeal)
6574
![GitHub Pull Requests](https://img.shields.io/github/issues-pr/eccentriccoder01/TalkHeal)
6675
![GitHub Closed Pull Requests](https://img.shields.io/github/issues-pr-closed/eccentriccoder01/TalkHeal)
67-
</p>
68-
</div>
76+
77+
</p>
78+
</div>
79+
80+
---
81+
82+
> 💡 **PRs Welcome!** We love contributions. Check out the [Contribution Guidelines](CONTRIBUTING.md) to get started.
6983
7084
## 📸 Screenshots
7185

72-
<div align="center"><img src="App.png"/></div>
86+
<div align="center">
87+
<img src="light_ss.jpg" alt="Main Screenshot" width="600"/>
88+
<br>
89+
<img src="dark_ss.jpg" width="200"/></a>
90+
<img src="blue_ss.jpg" width="200"/></a>
91+
<img src="lav_ss.jpg" width="200"/></a>
92+
</div>
7393

7494
## 📺 Video Explanation
7595

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

82102
## 🛠️ Technologies Used
83103

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

93110
---
94111

@@ -138,7 +155,6 @@ Report bugs and issues or propose improvements through our GitHub repository.
138155
- Add Screenshots and updated website links to help us understand what changes is all about.
139156

140157
- Check the [CONTRIBUTING.md](CONTRIBUTING.md) for detailed steps...
141-
142158

143159
## Contributing is fun🧡
144160

@@ -147,9 +163,15 @@ Whether it's a new feature, design improvement, or a bug fix — your voice matt
147163

148164
Your insights are invaluable to us. Reach out to us team for any inquiries, feedback, or concerns.
149165

166+
## 👥 Contributors
167+
168+
Thanks to these wonderful people for contributing 💖
169+
170+
[![Contributors](https://contrib.rocks/image?repo=eccentriccoder01/TalkHeal)](https://github.com/eccentriccoder01/TalkHeal/graphs/contributors)
171+
150172
## 📄 License
151173

152-
This project is open-source and available under the MIT License.
174+
This project is open-source and available under the [MIT License](LICENSE).
153175

154176
## 📞 Contact
155177

0 commit comments

Comments
 (0)