Skip to content

A mental health-focused web application, where patients can purchase therapy sessions offered by therapists. Scalability to update their session details and perform a live chat session with their patients when they purchase a session in an e-commerce-based transaction process.

License

Notifications You must be signed in to change notification settings

towaquimbayo/MyMind

 
 

Repository files navigation

Visitor Badge

MyMind

MyMind Thumbnail A mental health-focused web application, where patients can purchase therapy sessions offered by therapists. Scalability to update their session details and perform a live chat session with their patients when they purchase a session in an e-commerce-based transaction process.

Check out the live project here.

Table of Contents

Screenshots

Login Page Home Page
Login Page Home Page
Therapists Page Checkout Page
Therapists Page Checkout Page
Profile Page Live Chat Popup
Profile Page Live Chat Popup

Acknowledgements

Contributors

Technologies

  • HTML5
  • CSS3
  • Ajax
  • JavaScript
  • jQuery v3.6.0
  • Node.js
  • Express v4.18.1
  • Express-Session v1.17.2
  • MongoDB / Mongoose v6.3.3
  • Multer v1.4.4
  • Nodemailer v6.7.5
  • Nodemon v2.0.16
  • Socket.IO v4.5.1

Usage

Prerequisites

Prerequisites

Installation

Installation

  1. Install the latest npm package version.
npm install npm@latest -g
  1. Clone the repository to your local machine.
git clone https://github.com/towaquimbayo/MyMind.git
  1. Installing required dependencies requires Node and npm.
npm install
Environment Variables Setup

Environment Variables Setup

For the project to run correctly, environment variables are required. Rename the .env.example to .env.

  1. Sign up for a MongoDB Atlas account at https://www.mongodb.com/cloud/atlas/register. Then create a database Cluster and connect your project to that Cluster by clicking on the Connect, selecting the Connect To Your Application option and copying the Database URI string as your DATABASE_URL. Finally, replace the username and password fields in the URI string with your database credentials.
  2. Either enter your email account credentials for the Nodemailer transporter credentials or create a Gmail account to generate an App Password by following the instructions at https://medium.com/@y.mehnati_49486/how-to-send-an-email-from-your-gmail-account-with-nodemailer-837bf09a7628.
Run The App

Run The App

Running the application locally or in production is straightforward since both the frontend and backend are integrated into a single Node.js application running on port 8000.

Execute npm start to run locally in development mode or production mode.

Features

User Account Management

Our user account management system allows users to create and manage their accounts securely with ease. Whether they are therapists or patients, users have control over their profile information.

  • Account Creation: Users can create therapist or patient accounts. Therapists are required to enter additional information regarding their session cost and professional experience.
  • Account Editing: Users can edit their profile information, including profile picture, name, email, and phone number.
  • Account Deletion: Users have the option to delete their accounts.

Admin Dashboard

Our Admin Dashboard provides administrators with comprehensive tools to manage all users registered on the application. This feature ensures that administrators can maintain control over the platform's user base and perform various administrative tasks efficiently.

  • User Management: View all users in a table format on the Admin Dashboard page. Administrators can also edit patient and therapist information, create new users including administrators, and delete user accounts if necessary.
  • Search and Filter: Search users by keywords and filter the table accordingly.
  • Sorting Table: Sort the user table by clicking on headings such as email or username in ascending or descending order.

Therapist Shopping Cart System

Our application features a therapist shopping cart system, allowing users to browse and "purchase" live chat sessions with therapists. Although a payment integration system is not yet implemented, patients can simulate the process of adding therapists to their cart and checking out.

  • Therapist Listings: Any user can view a list of available therapists for live chat sessions.
  • Shopping Cart: Registered patients can add or remove therapists to their shopping cart and proceed to the Checkout page. The Checkout cart page also displays the total price including tax for the cart items.
  • Invoice Generation: Patients can print an invoice PDF of their order from the Checkout page.
  • Order Confirmation: After confirming their cart and checking out, patients are navigated to a Thank You page and receive an email confirmation. They can start a live chat session with the ordered therapist immediately.
  • Pricing Plans: 4 different pricing plans are available for therapist sessions: Trial, 1 Month, 3 Months, and 1 Year (mocked up to reasonable timeframes in minutes).

Live Chat Session

We enable real-time communication between therapists and patients using Socket.io. This feature allows for seamless live chat sessions, enhancing the user experience.

  • Real-Time Communication: Bi-directional private communication for live therapist chat sessions.
  • Contact Information: Both patient and therapist can access each other’s phone numbers during the live chat session for private communication via text or phone call.
  • Session Timer: Display of remaining session time in real-time, with the chat ending automatically when time expires.

Easter Egg

For those who love surprises, we have included a hidden Easter Egg feature. On the signup page, enter batman in the username field and turn up the volume for the best experience. Get ready to be ... mindblown 🦇

Awards

Our project, MyMind, was honoured with the "Best Design" and "Best Teamwork" awards out of 219 students for its innovative approach to virtual therapy. MyMind offers virtual therapy sessions, ensuring both patients and therapists can comfortably engage from their homes, and students can attend to their mental health within their busy schedules. This recognition reflects our dedication to user-centred design and effective teamwork throughout the development process.

For more details, you can read the full article here.

Contributing

Contributions are what makes the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are extremely appreciated.

For more details, please refer to CONTRIBUTING.md.

About

A mental health-focused web application, where patients can purchase therapy sessions offered by therapists. Scalability to update their session details and perform a live chat session with their patients when they purchase a session in an e-commerce-based transaction process.

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Sponsor this project

Packages

No packages published

Languages

  • CSS 48.8%
  • HTML 27.3%
  • JavaScript 23.9%