![Your Health Ally Logo](https://raw.githubusercontent.com/ATMartin/your-health-ally/main/public/icons/heart-pink-medium.png)
Everyone deserves to be heard.
Deployed App (TBD)
π
GitHub Repository
View Demo
Β·
Report a Bug
Β·
Request a Feature
Your Health Ally is an app designed to transform the way our users approach and manage their health by:
- Empower users to advocate for their well-being
- Provide comprehensive information, resources, and tools, such as,
- Types of doctors to see
- Questions to bring to doctor
- A checklist to prepare for office or virtual visits
A study in 2022 found that 52% of individuals in the U.S. feel their symptoms are ignored, dismissed, or not believed when seeking medical treatment; 50% of those respondents also reported that "a healthcare provider assume(ed) something about (them) without asking." 1
These statistics increase depending on the patient's race/ethnicity, sexual orientation (LGBTQIA+ community), gender identity (female, transgender and non-binary individuals), chronic health conditions, or disabilities. 1
Additionally, the Journal of General Internal Medicine found that on average, patients get 11 seconds to explain the reason for their visit before they are interrupted by their doctors 2. This can lead to delays in proper diagnosis and treatment for patients.
- Responsive design
- Intuitive navigation
- Authentication
- AI Chat Bot
- Interactive Glossary
- Chat-to-PDF Conversion
Languages and Runtimes
Frameworks & Libraries
Note:
- Repo set up with
Mantine Next App
template forapp router
PostCSS
setup with mantine-postcss-preset- Prettier vs Lint
APIs
Backing Services
Deployment Service
DevOps
Mantine Imports
- All
/hooks
,/form
and/core
components and their props, or anyReact
hooks must be imported at the top of each file. Example below:
import { useState } from 'react';
import { useInputState, useMediaQuery } from '@mantine/hooks';
import { useForm } from '@mantine/form';
import { TextInput, NumberInput, Group, Text, ActionIcon } from '@mantine/core';
- Import
Tabler
icons with theActionIcon
icon component.
import { ActionIcon } from '@mantine/hooks';
import { IconBrandLinkedin } from "@tabler/icons-react";
( π )
- Nodejs
- Run
node -v
in the terminal to check if you already haveNode.js
installed. - If it's installed, it will show the installed version.
- Follow Node.js docs to download.
- Once downloaded, run
node -v
command to double check it's installed.
- NPM
- Run
npm -v
in the terminal to check if you already havenpm
installed. - If it's installed, it will show the installed version.
- Follow npm docs to create an account and to download.
- Once downloaded, run
npm -v
command to double check it's installed.
- MongoDB
- Access to a
MongoDB 4.2+ server
with a replica set deployment.Prisma
recommends usingMongoDB Atlas
.
- The
MongoDB
database connector uses transactions to support nested writes.- Transactions require a replica set deployment.
- The easiest way to deploy a replica set is with Atlas. It's free to get started.
-
Clone repository to your local computer.
-
Once cloned, open the repo in your terminal.
-
Download dependencies:
npm install
ornpm i
. -
Set up your local
.gitignore
file in the root folder.
- Create file:
touch .gitignore
- Click through GitHub's
gitignore
templates. I suggest theNode
template. - If anything, make sure these are included in your file:
# macOS
.DS_Store
# LinuxOS
.*.swp
# Windows
*.pyc
# Dependency directories
node_modules/
jspm_packages/
# TypeScript cache
*.tsbuildinfo
# dotenv environment variable files
.env
.env.development.local
.env.test.local
.env.production.local
.env.local
- Set up
Clerkjs
for authentication.
- Create an account with
Clerkjs
. - Install
@clerk/nextjs
in the root folder:npm install @clerk/nextjs
- Set up your environment keys in
.env.local
in the root folder:
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=βpk_test_example
CLERK_SECRET_KEY=βsk_test_example
- For more information, refer to the Clerkjs Quickstart Guide with Nextjs.
-
Install Prisma: Run
npm install prisma --save-dev
-
Configure MongoDB connection:
- In your
.env
file, set up MongoDB connection string from MongoDB Atlas - This establishes a connection with MongoDB cluster (DATABASE_URL).
- View Tables (collections) in Prisma Studio:
- After installing Prisma and configuring MongoDB connection string, you can use Prisma Studio to view the collections.
- Run
npx prisma studio
( π )
dev
starts the dev server athttp://localhost:3000/
build
- generates an optimized version of the app for productionanalyze
β analyzes application bundle with @next/bundle-analyzer
start
- starts the app while in production mode- app must be compiled with
build
beforestart
- app must be compiled with
typecheck
β checks TypeScript typeslint
β runs ESLint to catch errorsprettier:check
β checks files with Prettierjest
β runs jest testsjest:watch
β starts jest watchtest
β runsjest
,prettier:check
,lint
andtypecheck
scripts
Note:
ESLint
setup with eslint-config-mantineJest
setup with React Testing Library
prettier:write
β formats all files with Prettier
( π )
Use this space to show useful examples of how a project can be used. Additional screenshots, code examples and demos work well in this space. You may also link to more resources.
For more examples, please refer to the Documentation
( π )
( π )
( π )
Design Tools
Canva
Excalidraw
Milanote
Project Management Tools
ClickUp
Slack
Tutorials
Best README
Emojipedia
Img Shields
GitHub Emoji Cheat Sheet
Markdown Cheat Sheet
( π )
Footnotes
-
Harris poll: Many patients feel ignored or doubted when seeking medical treatment . MITRE. (2022, December 20). https://www.mitre.org/news-insights/news-release/mitre-harris-poll-many-patients-feel-ignored-or-doubted#:~:text=MCLEAN%2C%20Va.%2C%20%26%20BEDFORD,believed%E2%80%9D%20when%20seeking%20medical%20treatment β© β©2
-
Singh Ospina, N., Phillips, K.A., Rodriguez-Gutierrez, R. et al. Eliciting the Patientβs Agenda- Secondary Analysis of Recorded Clinical Encounters. J GEN INTERN MED 34, 36β40 (2019). https://doi.org/10.1007/s11606-018-4540-5 β©
-
Ibrahim, A. (2021, September 1). Signs of ms may start five years before diagnosis. MS International Federation. https://www.msif.org/news/2018/08/26/signs-of-ms-may-start-five-years-before-diagnosis/ β©
-
Lupus facts and statistics. Lupus Foundation of America. (n.d.). https://www.lupus.org/resources/lupus-facts-and-statistics#:~:text=Lupus%20symptoms%20can%20also%20be,first%20notice%20their%20lupus%20symptoms. β©
-
Yale Medicine. (2024, January 19). Endometriosis. Yale Medicine. https://www.yalemedicine.org/conditions/endometriosis#:~:text=On%20average%2C%20women%20in%20the,are%20found%20to%20have%20it. β© β©2