Skip to content

Open source mental health / therapy web application with built-in chat.

License

Notifications You must be signed in to change notification settings

salesp07/MyMind

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BBY-31 -> MyMind

MyMind screenshot

Contributors

Towa Quimbayo: LinkedIn | GitHub

Kian Azizkhani LinkedIn | GitHub

Pedro Sales-Muniz LinkedIn | GitHub

Alex Gibbison LinkedIn | GitHub

Milestone 1: Login / Logout - 100% Completed
Milestone 2: Patient, Therapist, and Admin user types - 100% Completed
Milestone 3: Admin Dashboard - 100% Completed
Milestone 4: Shopping Cart Component - 100% Completed
Milestone 5: Online Chat - 100% Completed

One sentence pitch

Our team BBY31
is developing MyMind which is a web application
to help people struggling with mental health problems
to provide professional help from our therapist specialist that can help improve their mental health
with guided therapy sessions.

Technologies used

Frontend - HTML, CSS
Backend - Node.js, JavaScript, jQuery, Ajax, MongoDB Altlas, Git, Heroku Node.js Modules - Nodemon, Express.js, Express-session, Path, Mongoose, Multer, Http, Socket.io, Nodemailer, Bcrypt

How to Run the project

  1. Install:
  1. Clone this repo from your command line.

  2. Open the project with VSCode, open the IDE's terminal and run the command npm install

  3. Create a new file in the public project directory and call it .env.

  4. Connect your project to the database:

  • Create a MongoDB Atlas account at https://mongodb.com
  • Connect your project to the MongoDB Cluster by clicking on the "connect" button, choosing the "connect to your application" option and copying the link.
  • Inside the .env file, make a new variable called DATABASE_URL and assign it (=) to the link you copied from MongoDB, making sure to replace the 'username' and 'password' fields in the url to your database access credentials.
  • Full MongoDB setup tutorial at https://www.youtube.com/watch?v=2QQGWYe7IDU&ab_channel=TraversyMedia
  1. Make an hotmail for your project and add 2 variables to your .env file:
    MAIL_USER=<your-email-address>
    MAIL_PASS=<your-password>

  2. Run the project by typing "npm run devStart" and going to http://localhost:8000/ on your browser.

How to use main features

Admin Dashboard

  1. Make a new Patient Account
  2. Go to the MongoDB and edit that account's userType attribute to "admin"
  3. Login with that account
  4. Click 'Admin Dashboard' on the navbar
  5. You can now see a list of every user that signed up to your application
  6. You can Create new users (even admin users), edit and delete existing users

Shopping Cart System / Chat

  1. Checkout, then live chat. Follow these directions.
  2. Sign in as a patient
  3. Visit the "Therapist" Page and click "purchase session" under the therapist card.
  4. Once you click purchase session you will be redirected to the checkout page.
  5. a - At this point you can test that the checkout is saved by logging out and logging back in or visiting other pages and returning to the "checkout" page afterward.
  6. b - You can also delete your cart by clicking on the 'remove' button
  7. Then click "1 year" in the package plan dropdown. This will allow you to chat with your selected therapist for 15 minutes.
  8. After that click "confirm order"
  9. If you are in mobile view, click the menu in the bottom right.
  10. Then click the chat sessions icon
  11. Sign into the therapist using another private browser window.
  12. Sign into the therapist account purchased
  13. click the chat sessions icon located in the bottom right of the screen or in the mobile navbar inside the nav bar icon labeled "chat session"
  14. Open both windows, the therapist and patient side by side.
  15. Test sending messages back and forth (remember you only have 15 minutes).
  16. BONUS. you can click the messages to see when they were sent.
  17. When your session is over a warning will be displayed.

Custom user profile

  1. Click 'Login' on the navbar
  2. Click 'Sign up' on the navbar
  3. Make a new account of any type (patient or therapist)
  4. Log into the account you just created
  5. Click 'Account' on the navbar
  6. Change some information on the input fields
  7. Add a profile picture
  8. Click 'Save'
  9. Refresh and see that your information was changed on the DB

Easter Egg

  1. Click 'Login' on the navbar
  2. Click 'Sign up' on the navbar
  3. Type 'batman' in the username field
  4. Get mindblown

How to contribute

Pull requests are welcome. Please divide your PRs in 3 sections: Problem, Solution, Testing.

Releases

No releases published

Packages

No packages published

Languages

  • CSS 48.4%
  • HTML 27.2%
  • JavaScript 24.4%