GirlScript Summer of Code 2022 Open Source Program
This project is accepting contributions under GirlScript Summer of Code 2022 - three months long Open Source program conducted by GirlScript Foundation.
Mental health refers to a person's psychological, emotional, and social well-being; it influences what they feel and how they think, and behave. An emotionally fit and stable person always feels vibrant and truly alive and can easily manage emotionally difficult situations. But in today's times, mental sickness is becoming a growing issue..According to research conducted on adults, mental illness affects 19% of the adult population. Nearly one in every five children and adolescents on the globe has a mental illness. These alarming statistics reflect the wider prevalence of mental ill-health. This makes poor mental health a global problem needed to be solve as soon as possible.
Pacify provides some instant and effective solution to this problem. Using this will help one to develop good mental habits and develop a positive and healthy mindset. Pacify provides various features:
-
Quiz: The quiz section helps you discover about the mental health problems you are currently dealing with by asking some questions regarding your daily behavior, actions and feelings.
-
Journal: Journaling can help reduce anxiety, lessen feelings of stress, and increase an individual's mental well-being. You can use the journal to write down your thoughts, feelings and emotions as it can free up your mind and re-install calmness.
-
Pomodoro Timer: In the pandemic, work level has greatly increased and a lot of people sit in front of their computers for prolonged periods of time. It is not healthy for your mind to work for long periods of time without a break. Using the Pomodoro Timer feature you can implement small breaks into your work.
-
Yoga Gallery: Mental health is not only about the mind, it is also about the body. It is crucial for you to occasionally take some time and just relax your whole body. Yoga is a great way of doing this. You can search and sort through the gallery to find the type of yoga and poses that you like the best.
Articles: You can read about some useful and informative information.
- Documentation
- Any new feature
- Add sign-up form
- Chat-bot
- Add backend
- Many more relevant features on acceptance
Mansi Prajapati |
Shikha Rai |
Vartika Gupta |
Tvisha Srivastava |
## Contributing
Hi there! We're thrilled that you'd like to contribute to this project. Your help is essential for keeping it great.
Please note that this project is released with a [Contributor Code of Conduct][code-of-conduct]. By participating in this project you agree to abide by its terms.
If you have suggestions for how this project could be improved, or want to report a bug, open an issue! We'd love all and any contributions. If you have questions, too, we'd love to hear them.
We'd also love PRs. If you're thinking of a large PR, we advise opening up an issue first to talk about it, though! Look at the links below if you're not sure how to open a PR.
- [Fork][fork] and clone the repository.
- Configure and install the dependencies.
- Make sure the tests pass on your machine.
- Create a new branch:
git checkout -b my-branch-name
. - Make your change, add tests, and make sure the tests still pass.
- Push to your fork and submit a pull request.
- Pat your self on the back and wait for your pull request to be reviewed and merged.
Here are a few things you can do that will increase the likelihood of your pull request being accepted:
- Follow the style which is using standard.
- Write and update tests.
- Keep your changes as focused as possible. If there are multiple changes you would like to make that are not dependent upon each other, consider submitting them as separate pull requests.
- Write a good commit message.
Work in Progress pull requests are also welcome to get feedback early on, or if there is something blocked you.
Before continuing we want to clarify the difference between Git and Github. Git is a version control system(VCS) which is a tool to manage the history of our Source Code. GitHub is a hosting service for Git projects.
We assume you have created an account on Github and installed Git on your System.
Now tell Git your name and E-mail (used on Github) address.
$ git config --global user.name "YOUR NAME"
$ git config --global user.email "YOUR EMAIL ADDRESS"
This is an important step to mark your commits to your name and email.
You can use github explore - https://github.com/explore to find a project that interests you and match your skills. Once you find your cool project to workon, you can make a copy of project to your account. This process is called forking a project to your Github account. On Upper right side of project page on Github, you can see -
Click on fork to create a copy of project to your account. This creates a separate copy for you to work on.
Open Source projects always have something to work on and improves with each new release. You can see the issues section to find something you can solve or report a bug. The project managers always welcome new contributors and can guide you to solve the problem. You can find issues in the right section of project page.
You have forked the project you want to contribute to your github account. To get this project on your development machine we use clone command of git.
$ git clone https://github.com/<your-account-username>/<your-forked-project>.git
Now you have the project on your local machine.
Remote means the remote location of project on Github. By cloning, we have a remote called origin which points to your forked repository. Now we will add a remote to the original repository from where we had forked.
$ cd <your-forked-project-folder>
$ git remote add upstream https://github.com/<author-account-username>/<project>.git
You will see the benefits of adding remote later.
Open Source projects have a number of contributors who can push code anytime. So it is necessary to make your forked copy equal with the original repository. The remote added above called Upstream helps in this.
$ git checkout master
$ git fetch upstream
$ git merge upstream/master
$ git push origin master
The last command pushes the latest code to your forked repository on Github. The origin is the remote pointing to your forked repository on github.
Normally, all repositories have a master branch which is considered to remain stable and all new features should be made in a separate branch and after completion merged into master branch. So we should create a new branch for our feature or bugfix and start working on the issue.
$ git checkout -b <feature-branch>
This will create a new branch out of master branch. Now start working on the problem and commit your changes.
$ git add --all
$ git commit -m "<commit message>"
The first command adds all the files or you can add specific files by removing -a and adding the file names. The second command gives a message to your changes so you can know in future what changes this commit makes. If you are solving an issue on original repository, you should add the issue number like #35 to your commit message. This will show the reference to commits in the issue.
It can happen that your feature takes time to complete and other contributors are constantly pushing code. After completing the feature your feature branch should be rebase on latest changes to upstream master branch.
$ git checkout <feature-branch>
$ git pull --rebase upstream master
Now you get the latest commits from other contributors and check that your commits are compatible with the new commits. If there are any conflicts solve them.
You have completed the feature, but you have made a number of commits which make less sense. You should squash your commits to make good commits.
$ git rebase -i HEAD~5
This will open an editor which will allow you to squash the commits.
Till this point you have a new branch with the feature or bugfix you want in the project you had forked. Now push your new branch to your remote fork on github.
$ git push origin <feature-branch>
Now you are ready to help the project by opening a pull request means you now tell the project managers to add the feature or bugfix to original repository. You can open a pull request by clicking on green icon -
Remember your upstream base branch should be master and source should be your feature branch. Click on create pull request and add a name to your pull request. You can also describe your feature.
Awesome! You have made your first contribution. If you have any doubts please let me know in the comments.