Skip to content

GSSoC participants refer to the "main" branch of our project for previous codes. Make your PRs to "GSSoC21" branch only. Also, please "STAR" the repo to support us.

License

Notifications You must be signed in to change notification settings

CrewMates-Open-Source/EduHelp

Repository files navigation

๏ปฟ

EduHelp

Banner

Number of Contributors Issues opened Issues closed PRs open PRs closed Repo size Open Source Love svg2

forthebadge forthebadge

What does it do? ๐Ÿค”

EduHelp simply means to make it easier for you to record any online session, be it an online lecture, meetings, youtube tutorials, etc. But we are not simply making a web extension or desktop app that records your screen or gives you an audio file in the end. We mean to save the slide show or screen presentation going on during those meets as well as the text file of the entire conversation that took place. This Project will not only help normal people but also differently-abled people because the audio is converted to text and a file containing its summary is saved in a .txt file as well as braille script file. The braille file can be given as an input to refreshable braille display (rbd) machines. The audio files can also be used by a blind person for taking note of what happened during class. The screenshots are stored in a .docx file and can be used by a deaf person for revisiting concepts they might miss during classes.

AMAZING!!๐Ÿ˜ฎ:star_struck:RIGHT?

Demo

Want to know more about EduHelp. Just look below ๐Ÿ‘‡

Youtube Link

What do we think of implementation?

  • There are a lot of features that need to be implemented for this project. To know what are those please click ๐Ÿ‘‰here.
  • We would love to add other features to this project. It will be greatly appreciated if you contribute to this project and we ensure, it will be given a higher rating, i.e. level1, level2, level3 based on the usefulness and how inspirational your idea is, hereby idea I mean just the idea and the flow of Idea in a .md file. If you can write your code for the idea you suggested, we will deal with it in separate PRโ€™s and with different level tags.

Tech-Stacks ๐Ÿ’ป

  • For website: HTML, CSS
  • For core functionalities: Python
  • For summarizer part: NLP
  • For different Speech audio being clustered: ML
  • Electron.js or Tkinter or any other desktop app development stack.
  • For making all the functionalities available as an API: Flask Backend

How to get started?

A beginner and don't know how and where to start???

Don't worry, you can refer to the following articles and also contact the project maintainers, in case you are stuck:

GIT AND GITHUB

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 Email (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.

FORK A PROJECT -

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 work on, you can make a copy of the 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 the project to your account. This creates a separate copy for you to work on.

FINDING A FEATURE OR BUG TO WORK ON -

Open Source projects always have something to work on and improve 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 the project page.

CLONE THE FORKED PROJECT -

You have forked the project you want to contribute to your github account. To get this project on your development machine we use the 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.

ADD A REMOTE (UPSTREAM) TO ORIGINAL PROJECT REPOSITORY

Remote means the remote location of a 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 a remote later.

SYNCHRONIZING YOUR FORK -

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.

CREATE A NEW BRANCH FOR A FEATURE OR BUGFIX -

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 the 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.

REBASE YOUR FEATURE BRANCH WITH UPSTREAM-

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 rebased 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.

SQUASHING YOUR COMMITS-

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.

PUSH CODE AND CREATE A PULL REQUEST -

Till this point you have a new branch with the feature or bug fix 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 the 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.

BE OPEN!

How to contribute?

  • Read this contribution guide, it will give you a detailed explanation of how, what and where to contribute.
  • Now take a look at the existing issues or create your issues!
  • Wait for the issue to be assigned to you after which you can start working on it.
  • Fork the repo and create a branch for any issue that you are working upon.
  • Create a pull request which will be promptly reviewed and suggestions would be added to improve it.
  • If applicable, add screenshots to show the changes you made.
  • Last but not least don't forget to have fun while contributing.

PRs Welcome

โค๏ธ Project Admin

Shankhanil Borthakur

๐Ÿ‘จโ€๐Ÿ’ป Mentors

Mentor
Apurva
Mentor
Gaurav Kumar
Mentor
Anshoo Rajput

Open source program(s)

  • GirlScript summer of code (2021)

License

License: GPL v3

This project is licensed under GPL v3. To know more about it you can refer LICENSE.

Contributors

Credits goes to these people:โœจ

About

GSSoC participants refer to the "main" branch of our project for previous codes. Make your PRs to "GSSoC21" branch only. Also, please "STAR" the repo to support us.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages