Skip to content

Stresser stresses on reducing peoples's stress and anxiety by providing therapy, diet, diary and chat features.

Notifications You must be signed in to change notification settings

Garvit1809/Stresser

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

16 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

STRESSER

Short Brief

Stresser is a web application to help people reduce stress and anxiety. The web application itself contains clean and interactive UI/UX making it easier to navigate. We provide features such as therapy where you can watch calm and relaxing music, yoga and meditation videos, traditional methods to reduce stress and more. We also provide a diet section where you can search recipes for any ingredient. The application also contains user authentication through login/sign-up feature. After signing-up, a user can create his/her own diary and chat with other people as well.

Contents:

  • About
  • Project Starter
  • Glimpse of the site
  • Tools and Packages
  • Author

✊ About

Stresser stresses on reducing people's stress and anxiety by providing featues like therapy, diet, diary and chat sections.

You can checkout the demo video on youtube by clicking on the thumbnail below.

The site is deployed through heroku, which you can view from here


πŸ‘¨β€πŸ’» Getting started

This section will work you through how you can get started with the project.

Directory Layout

.
β”œβ”€β”€ client
|      β”œβ”€β”€ public
|      └── src
|           β”œβ”€β”€ assets
|           |
|           β”œβ”€β”€ Components
|           β”‚      β”œβ”€β”€ ChatComponents  
|           |      |        β”œβ”€β”€ChatContainer.js
|           β”‚      |        β”œβ”€β”€ChatInput.js
|           β”‚      |        β”œβ”€β”€Contacts.js
|           β”‚      |        └──Welcome.js 
|           |      β”œβ”€β”€ DiaryComponents  
|           β”‚      |        └──DiaryEntry.js 
|           |      β”œβ”€β”€ DietComponents  
|           |      |        β”œβ”€β”€DietLists.js
|           β”‚      |        └──RecipeTile.js 
|           |      β”œβ”€β”€ HomeComponents  
|           |      |        β”œβ”€β”€Button.js
|           β”‚      |        └──Footer.js
|           |      β”œβ”€β”€ NavbarComponents  
|           |      |        β”œβ”€β”€Logout.js
|           β”‚      |        └──Navbar.js
|           β”‚      └── TherapyComponents
|           β”‚               └──Frames.js
|           β”‚  
|           β”œβ”€β”€ Pages
|           β”‚      β”œβ”€β”€ Chat.js
|           β”‚      β”œβ”€β”€ Diary.js
|           β”‚      β”œβ”€β”€ Diet.js
|           β”‚      β”œβ”€β”€ Home.js
|           β”‚      β”œβ”€β”€ Login.js
|           β”‚      β”œβ”€β”€ Register.js
|           β”‚      β”œβ”€β”€ SetAvatar.js
|           β”‚      └── Therapy.js 
|           β”‚ 
|           β”œβ”€β”€ Utils
|           β”‚      └── APIRoutes.js     
|           β”‚ 
|           β”œβ”€β”€ App.js
|           β”‚ 
|           β”œβ”€β”€ index.css
|           β”‚ 
|           └── index.js
|
β”‚   
β”‚ 
β”œβ”€β”€ server
|      β”œβ”€β”€ Controllers
|      β”‚      β”œβ”€β”€ diaryControllers.js
|      β”‚      β”œβ”€β”€ messageControllers.js
|      β”‚      └── userControllers.js 
|      β”‚
|      β”œβ”€β”€ Model
|      β”‚      β”œβ”€β”€ diaryModel.js
|      β”‚      β”œβ”€β”€ messageModel.js
|      β”‚      └── userModel.js 
|      β”‚
|      β”œβ”€β”€ Routes
|      β”‚      β”œβ”€β”€ diaryRoutes.js
|      β”‚      β”œβ”€β”€ messageRoutes.js
|      β”‚      └── userRoutes.js 
|      β”‚  
|      └── index.js
|  
|
└── README.md

Run on your local server

You will need NodeJS, Git and MongoDB installed to run this project locally

  node@v16.13.0 or higher
  npm@8.1.0 or higher
  git@2.34.1 or higher

If you dont have MongoDB you use MongoDB Atls

  1. Clone the repo
git clone https://github.com/Garvit1809/Stresser.git
  1. Create a file called .env in the Backend directory of your project:

    server
    └──- Controllers
        - Model
        - Routes
        - .env         <-- create it here
        - .gitignore
        - index.js
        - package-lock.json
        - package.json
    
  2. Inside the .env file, add key MONGO_URL and assign your MongoDB local host or Mongo Atls like this

# .env
MONGO_URL = "YOUR_DB_LOCAL_HOST" 
# eg : mongodb://localhost/stresser or mongodb+srv://"Your username ":" your password "....
  1. Starting the Server application.
cd server 
npm install
nodemon index.js

This will start server on localhost:5000

  1. Starting the Client application.
cd client 
npm install
npm start

This will start client app on localhost:3000


πŸ–ΌοΈ Some Glimpse of the Site

1. Home Page

homeImg homeImg2

2. Therapy Page

You can listen to some stress-relieving music πŸ˜‡, can do yoga and meditation by watching tutorials, watch some funny videos to get some laugh and much more on the therapy section. You can filter the videos acccordingly πŸ‘‡πŸ‘‡

therapyImg2

Filtered Method Videos πŸ‘‡πŸ‘‡ therapyImg1

3. Diet Page

A healthy diet plays an important role in reducing stress and anxiety. We have a diet section where you can search for recipes of any ingredient. DietImg1

There is a small box having a list of ingredients 🍈πŸ₯‘ which help in reducing stress as well as anxiety. dietImg2

You can look recipes for any ingredient from the Ingredient-Box. By Clicking on the recipe image you can get more information about that recipe πŸ˜‹ dietImg3

4. Diary Page

If you struggle with stress, depression, or anxiety, keeping a journal can be a great Idea. Keep a track of your daily mood with our diary section. diaryImg1

You can also view your diary entries πŸ“– diaryImg2

5. Chat Page

Lack of social interactions also damages mental health. But don't worry, we have a chat section where you can interact with other people facing same issues. chatImg1

chatImg2

6. Authentication Pages

SignUp Page authImg1

Login Page autImg2

7. SetAvatar Page

After signing up, you would come across this page where you have to pick an Avatar as your progfile image. avatarImg


🧰 Tools & Packages

Client Dependencies

Package Description version
axios Promise based HTTP client for the browser and node.js 0.27.2
buffer A package for easy manipulation of binary data 6.0.3
emoji-picker-react To add Emoji picker component for react applications 3.5.1
material-ui-icons Ready-to-use React Material Icons from the mui library 5.8.4
react-icons A library that allows us to include only those icons that our project is using 4.4.0
react-toastify A package that allows to add notifications to our app with ease 9.0.5
socket.io-client A package for client-side implementation of socket.io 4.5.1
styled-components A library which lets you write CSS in your JavaScript 5.3.5
uuid A package used for identifying information that needs to be unique 8.3.2

Server Dependencies

Package Description version
bcrypt A library to help you hash password 5.0.1
cors A package providing express middleware 2.8.5
dotenv A library that loads environment variables from a .env file into process.env 16.0.1
express Node.js web application framework for server side scripting 4.18.1
MongoDB A NoSQL database 4.4.3
mongoose Elegant mongodb object modeling for node.js 6.4.0
socket.io A library enabling real-time bidirectional event-based communication 4.5.1

Server devDependencies

Package Description version
nodemon A library to automatically restart node application 2.0.16

API's used

API Description Used in Page
Multiavatar API API to get random avatars for profile image SetAvatar Page
Edamam's Recipe API API to get recipes of the searched ingredients/food-items Diet Page

πŸ‘¦ Author

portfolio linkedin twitter

About

Stresser stresses on reducing peoples's stress and anxiety by providing therapy, diet, diary and chat features.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages