-
Download and install the latest stable version of Git 📥 for version control
-
Create a Github Account 📇
-
Download and install latest stable version of NodeJS
-
Download and install latest stable version of VS Code
-
Fork this repository
- Open Terminal/Command Prompt/Powershell/Git Bash and navigate to a location where you want the project files to be stored
cd D:\my_preferred_location
- Clone your forked repository 🧩.
git clone https://github.com/<your_user_name>/doc2pen.git
- Now move inside the project directory 📁 (using the terminal).
cd doc2pen
- Check for the current remotes of the git repository (the local copy of your forked repository)
git remote --verbose
- Add a reference to the upstream(this repository which you clones) repository.
git remote add upstream https://github.com/smaranjitghose/doc2pen.git
- Install the dependencies and packages.
npm install
- Start the react app in the local server in development mode
npm start
Install Docker if you don't have it already.
Build the project
docker-compose build
Run the docker container
docker compose up
-
Open your favourite browser and navigate to
http://localhost:3000
to view the current version of the app -
Open the project files in VSCode (assuming you have already opened the terminal and navigated inside the project directory)
code .
- Fetch any recent changes from the upstream repository
git pull upstream master
- Comment on any existing issue(s) raised by project maintainers [@smaranjitghose or @anushbhatia]. Otherwise raise a new issue.
Each issue should have an appropriate and short title like "Bug in Upload Page"
Be specific about your intended changes/suggestions
Refrain from using phrases like "Hi, I am ..", "Please assign me this issue", "Thank You..", etc. We are only interested in technical parts
Attach a screenshot/clip if applicable
Please be patient enough. The project maintainers/mentors would review it as per their schedule. Please do not start putting comments like "Please check this" etc.
Do not blindly comment on issues raised by other participant(s). Unless a minimum of 48 hours has passed since their assignment, the issue would not be re-assigned(excluding certain cases). The issue raised by a participant will always to be assigned to him/her by default. Do not spam "Interested", "Please assign me" in others issues.
Always keep a note of the deadline.
-
Once the project maintainer(s)/mentor(s) have reviewed the issue/assigned you the issue. Start working on the changes
-
Create a new feature branch (DO NOT name it MAIN or MASTER or anything random).
git checkout -b <your_branch_name>
-
Finish your work
-
Make sure that you do not change any code unrelated to the task that you have been assigned
-
Ensure that your changes apply to all screensizes
-
Comment any new code addition(s)
-
Do not mess up the directory structure
-
Preview your changes and test them properly before proceding ahead
-
Make a small clip or take screenshots.
-
Stage your changes.
git add .
- Commit the changes.
git commit -m "message relevant to your changes (usually title of the pull request)"
-
Make sure to condense your changes into a single commit. Reference
-
Push the changes to your remote repository on GitHub.
git push origin <your_branch_name>
- Click on
compare and pull requests
to create a pull request
Each pull request should have an appropriate and short title like "Fixed Bug in Upload Page"
Describe your intended changes in the description section of the pull request (Use bullet points and phrases)
Refrain from using phrases like "Hi, I am ..", "Please merge me this OPR", "Thank You..", etc. We are only interested in technical parts
Attach a screenshot/clip of the change(s)
Make sure to refer the respective issue in the respective PR using phrases like
Resolves #issue_number
orCloses #issue_number
.Please be patient enough. The project maintainers/mentors would review it as per their schedule. Please do not start putting comments like "Please check this" etc.
Although we support feedback from everyone in all phases of development, it is highly advised not to put any negative comments in other participant's pull requests.
Always keep a note of the deadline.
Difficulty | Score |
---|---|
Beginner | 10 |
Easy | 20 |
Medium | 30 |
Hard | 40 |
- Add relevant labels ( must contain
SWoC21
) - Maintain an excel sheet:
Name | Username | # of Beginner | # of Easy | # of Medium | # of Hard | Total Score | PR Numbers |
---|
Difficulty | Score |
---|---|
Easy | 25 |
Medium | 50 |
Hard | 100 |
When accepting the PR, add the following label before merging it. user=:score=, e.g. if the user sansyrox has filled a relevant PR and you are allotting 100 marks to him, add the following label user=sansyrox:score=100
to the PR.
Difficulty | Score |
---|---|
Easy | - |
Medium | - |
Hard | - |
- Add labels to PRs
- Maintain a Contributor.MD for CrossWoC
Difficulty | Intent | Score |
---|---|---|
Level0 | GSSOC Minor Documentation | 5 |
Level1 | GSSOC Major Documentation | 10 |
Level2 | GSSOC Bug fixing, adding small features | 25 |
Level3 | GSSOC New features, major bug fixing. | 45 |
- Add labels to PRs [ Must add
gssoc21
label]