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.
- About
- Project Starter
- Glimpse of the site
- Tools and Packages
- Author
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
This section will work you through how you can get started with the project.
. βββ 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
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
- Clone the repo
git clone https://github.com/Garvit1809/Stresser.git
-
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
-
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 "....
- Starting the Server application.
cd server
npm install
nodemon index.js
This will start server on localhost:5000
- Starting the Client application.
cd client
npm install
npm start
This will start client app on localhost:3000
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 ππ
Filtered Method Videos ππ
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.
There is a small box having a list of ingredients ππ₯ which help in reducing stress as well as anxiety.
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 π
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.
You can also view your diary entries π
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.
After signing up, you would come across this page where you have to pick an Avatar as your progfile image.
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 |
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 |
Package | Description | version |
---|---|---|
nodemon | A library to automatically restart node application | 2.0.16 |
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 |