├── .dockerignore ├── .env ├── .eslintrc.json ├── .prettierrc ├── .vscode └── settings.json ├── gitpush.bat ├── public ├── E.png ├── chat.png ├── enter.png ├── github.png ├── gmail.png ├── twitter.png ├── youtube.png ├── instagram.png ├── wellbeing.png ├── services │ ├── phq.png │ ├── clerk-auth.png │ ├── chat-gemini.png │ ├── contact-form.png │ ├── mental-track.png │ ├── gemini-explain.png │ ├── gemini-message.png │ ├── complete-analysis.png │ └── personalized-response.png ├── github-contact.png ├── mentalhealth1.jpg ├── phone-contact.png ├── customer-service.png ├── instagram-contact.png ├── linkedin-contact.png ├── arrow-up-right.svg ├── vercel.svg └── next.svg ├── app ├── favicon.ico ├── about │ ├── layout.tsx │ └── page.tsx ├── signout │ └── page.tsx ├── services │ ├── layout.tsx │ └── page.tsx ├── sign-in │ └── [[...sign-in]] │ │ └── page.tsx ├── sign-up │ └── [[...sign-up]] │ │ └── page.tsx ├── chat │ ├── layout.tsx │ └── page.tsx ├── home │ ├── layout.tsx │ └── page.tsx ├── dashboard │ ├── layout.tsx │ └── page.tsx ├── response │ ├── layout.tsx │ └── page.tsx ├── api │ ├── inngest │ │ └── route.ts │ ├── graph │ │ └── route.ts │ ├── hello │ │ └── route.ts │ ├── contact │ │ └── route.ts │ └── chat │ │ └── route.ts ├── StoreProvider.tsx ├── layout.tsx ├── page.tsx ├── globals.css └── contact │ └── page.tsx ├── inngest ├── client.ts └── function.ts ├── prisma ├── migrations │ ├── migration_lock.toml │ └── 20240715131223_init │ │ └── migration.sql └── schema.prisma ├── postcss.config.mjs ├── lib ├── utils.ts ├── hooks.ts ├── features │ ├── score │ │ └── scoreSlice.ts │ ├── textarea │ │ └── textareaSlice.ts │ ├── chat │ │ └── chatSlice.ts │ └── counter │ │ └── counterSlice.ts ├── sendGemini.ts └── store.ts ├── .env.example ├── components ├── Loader.tsx ├── ui │ ├── label.tsx │ ├── textarea.tsx │ ├── progress.tsx │ ├── badge.tsx │ ├── radio-group.tsx │ ├── button.tsx │ ├── card.tsx │ ├── dialog.tsx │ ├── alert-dialog.tsx │ ├── command.tsx │ └── carousel.tsx ├── Carousal.tsx ├── email-template.tsx ├── AlertDialogBox.tsx ├── Gemini-Interface.tsx ├── Navbar.tsx ├── MobileNavbar.tsx └── Quiz.tsx ├── next.config.mjs ├── components.json ├── middleware.ts ├── .gitignore ├── Dockerfile ├── tsconfig.json ├── db └── questions.ts ├── package.json ├── README.md └── tailwind.config.ts /.dockerignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | .next -------------------------------------------------------------------------------- /.env: -------------------------------------------------------------------------------- 1 | DATABASE_URL= 2 | SHADOW_DATABASE_URL= 3 | -------------------------------------------------------------------------------- /.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "next/core-web-vitals" 3 | } 4 | -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "semi": false, 3 | "singleQuote": true 4 | } -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "WillLuke.nextjs.hasPrompted": true 3 | } -------------------------------------------------------------------------------- /gitpush.bat: -------------------------------------------------------------------------------- 1 | git add . 2 | git commit -m %1 3 | git push -u origin main -------------------------------------------------------------------------------- /public/E.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kanugurajesh/EmoTrack/HEAD/public/E.png -------------------------------------------------------------------------------- /app/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kanugurajesh/EmoTrack/HEAD/app/favicon.ico -------------------------------------------------------------------------------- /public/chat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kanugurajesh/EmoTrack/HEAD/public/chat.png -------------------------------------------------------------------------------- /public/enter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kanugurajesh/EmoTrack/HEAD/public/enter.png -------------------------------------------------------------------------------- /public/github.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kanugurajesh/EmoTrack/HEAD/public/github.png -------------------------------------------------------------------------------- /public/gmail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kanugurajesh/EmoTrack/HEAD/public/gmail.png -------------------------------------------------------------------------------- /public/twitter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kanugurajesh/EmoTrack/HEAD/public/twitter.png -------------------------------------------------------------------------------- /public/youtube.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kanugurajesh/EmoTrack/HEAD/public/youtube.png -------------------------------------------------------------------------------- /public/instagram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kanugurajesh/EmoTrack/HEAD/public/instagram.png -------------------------------------------------------------------------------- /public/wellbeing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kanugurajesh/EmoTrack/HEAD/public/wellbeing.png -------------------------------------------------------------------------------- /public/services/phq.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kanugurajesh/EmoTrack/HEAD/public/services/phq.png -------------------------------------------------------------------------------- /public/github-contact.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kanugurajesh/EmoTrack/HEAD/public/github-contact.png -------------------------------------------------------------------------------- /public/mentalhealth1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kanugurajesh/EmoTrack/HEAD/public/mentalhealth1.jpg -------------------------------------------------------------------------------- /public/phone-contact.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kanugurajesh/EmoTrack/HEAD/public/phone-contact.png -------------------------------------------------------------------------------- /public/customer-service.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kanugurajesh/EmoTrack/HEAD/public/customer-service.png -------------------------------------------------------------------------------- /public/instagram-contact.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kanugurajesh/EmoTrack/HEAD/public/instagram-contact.png -------------------------------------------------------------------------------- /public/linkedin-contact.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kanugurajesh/EmoTrack/HEAD/public/linkedin-contact.png -------------------------------------------------------------------------------- /public/services/clerk-auth.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kanugurajesh/EmoTrack/HEAD/public/services/clerk-auth.png -------------------------------------------------------------------------------- /public/services/chat-gemini.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kanugurajesh/EmoTrack/HEAD/public/services/chat-gemini.png -------------------------------------------------------------------------------- /public/services/contact-form.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kanugurajesh/EmoTrack/HEAD/public/services/contact-form.png -------------------------------------------------------------------------------- /public/services/mental-track.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kanugurajesh/EmoTrack/HEAD/public/services/mental-track.png -------------------------------------------------------------------------------- /public/services/gemini-explain.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kanugurajesh/EmoTrack/HEAD/public/services/gemini-explain.png -------------------------------------------------------------------------------- /public/services/gemini-message.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kanugurajesh/EmoTrack/HEAD/public/services/gemini-message.png -------------------------------------------------------------------------------- /public/services/complete-analysis.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kanugurajesh/EmoTrack/HEAD/public/services/complete-analysis.png -------------------------------------------------------------------------------- /public/services/personalized-response.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kanugurajesh/EmoTrack/HEAD/public/services/personalized-response.png -------------------------------------------------------------------------------- /inngest/client.ts: -------------------------------------------------------------------------------- 1 | import { Inngest } from "inngest"; 2 | 3 | // Create a client to send and receive events 4 | export const inngest = new Inngest({ id: "my-app" }); 5 | -------------------------------------------------------------------------------- /prisma/migrations/migration_lock.toml: -------------------------------------------------------------------------------- 1 | # Please do not edit this file manually 2 | # It should be added in your version-control system (i.e. Git) 3 | provider = "postgresql" -------------------------------------------------------------------------------- /postcss.config.mjs: -------------------------------------------------------------------------------- 1 | /** @type {import('postcss-load-config').Config} */ 2 | const config = { 3 | plugins: { 4 | tailwindcss: {}, 5 | }, 6 | }; 7 | 8 | export default config; 9 | -------------------------------------------------------------------------------- /app/about/layout.tsx: -------------------------------------------------------------------------------- 1 | export default function RootLayout({ 2 | children, 3 | }: Readonly<{ 4 | children: React.ReactNode 5 | }>) { 6 | return
22 |
38 | 24 | Monitor your mental health using our tracker with the PHQ-9 25 | questionnaire to understand and manage your well-being 26 | effectively. 27 |
28 | 29 |15 | EmoTrack is an app designed to track depression and provide remedies 16 | to patients. 🌟 Depression often begins with subtle symptoms and 17 | gradually intensifies. Many people may not even realize they're 18 | experiencing it until it's severe, potentially leading to serious 19 | consequences, including suicide. 😔 20 |
21 |22 | However, depression has a straightforward solution: early treatment. 23 | If individuals can identify depression in its early stages and seek 24 | proper care, it can be easily prevented. 🛡️ Unfortunately, many 25 | can't afford psychologists, don't have access to them, or 26 | hesitate to seek help without confirmation or proof. 💸🚫 27 |
28 |29 | That's why I built EmoTrack. This app helps users take a standard 30 | PHQ-9 test to understand their mental condition. 📋 It also features a 31 | Gemini bot for asking questions, making it easier for people to get 32 | the support they need. 🤖💬 33 |
34 |35 | 🌟 I have added a dashboard where users can easily track their PHQ-9 36 | scores over time and download their charts. Personalized feedback is 37 | provided based on their past scores. Additionally, there is a chat 38 | feature that offers guidance to improve mental health based on 39 | previous scores. 💬 40 |
41 |42 | 📞 Finally, I have included a contact form so users can reach out to 43 | authorities in case of emergencies. The app is secured with Clerk Auth 44 | and boasts a responsive user interface for easy navigation. 🛡️🔒 45 |
46 |I have implemented an phq-9 test taker to take phq-9 assessment from the user
20 |Users can click on explain so that ai can explain the question to them
30 |Users can ask questions to the gemini model and get good feedback
40 |After taking the assessment the users are redirected to the response page where he will get a persnalized feedback on his health
50 |The graph shows the user mental health status on multiple dates
60 |The gemini gives the response based on all the previous tests results
70 |This is an emergency form where users can ask help from people
80 |This is a chat application where users can ask questions related to their mental health. The Gemini knows your complete data about your health
90 |Clerk auth makes your app secure and you can easily manage it.
100 |95 | Fill up the form and I will get back to you within 24 hours 96 |
97 |+91 6281768263
108 | 109 | 110 |kanugurajesh6@gmail.com
118 | 119 | 120 |kanugurajesh3
129 | 130 | 131 |