π«π First of all, thanks for taking the time to contribute! ππ«
-
Issues will be assigned on a first come, first serve basis. You just have to comment on the issue, asking to be assigned, and we'll assign it to you if it's not assigned to anyone else.
-
If you find any bug or feature, create an issue accordingly, and please wait for it to be assigned to you.
-
It would be even better if you can visually show a prototype/animation/design for any UI improvements you are going to do so that the probability of major changes after writing the code decreases.
-
Before creating a Pull Request, please make sure you have pull the code from origin, so that merge conflicts can be prevented.
-
Please remove any
console logs or errors
if present in the code(for the sake of debugging), before creating a Pull Request. -
Please write some comments in the modified section of the code, so that others can understand you logic and code more easily.
-
Deadlines: When the issue has been assigned to the user, he/she have to complete the issue within the following assigned time as per the issue level.
- Level 0: 1 Day
- Level 1: 3 Days
- Level 2: 1 Week
- Level 3: 15 Days
βοΈ Did you find a bug/Issue or an new Feature?, Feel free to submit issues and enhancement requests.
In general, we follow the "fork-and-pull" Git workflow.
For creating new issue, select any one of the ISSUE TEMPLATE and describe along with its fields given (_rather than opening a blank issue*) :
- Bug Report π
- Feature Request π
-
Fork the repository on GitHub.
-
Clone the project (forked copy of the project) to your machine :
git clone url-of-forked-project
-
Navigate to the directory of project :
cd SyntaxMeets
-
Set the upstream with original repository :
git remote add upstream https://github.com/kothariji/SyntaxMeets.git
-
In order to check associated URLs with the project :
git remote -v
-
Before commiting any changes, always Pull the upstream so that the recents changes in the original repo gets merged (gets updated with recent changes)
git pull upstream master
-
Create a New Branch (where you need to push the changes done) and switch to the respective branch :
git branch your_branch_name
git checkout -b your_branch_name
NOTE : After cloning into project, in order to run it on the local machine, create .env: file as instructed below : create a new .env file in the frontend/syntaxmeets folder and add the following variables - REACT_APP_SYNTAXMEETS_BACKEND_API = 'http://localhost:4000/' REACT_APP_ONLINE_JUDGE_API = YOUR API KEY
-
Add and Commit your changes with relevant message :
git add file_name
-
While commiting, ensure that you follow the below guidelines :
-
Structure of commit message :
git commit -m "{{ commit heading }}" -m "{{ commit desc }}"
-
Commit Headings
- βοΈ[Fix]: used when we do a css-fix, ui-improvement
- π[Docs]: used when modifying/updating docs
- β»οΈ[Refactor]: used when refacting variables, functions, classes
- π [Bug]: used when commits related to bug fixed/resolve in process
- π[Feat]: used when adding a new feature in application
- π [API]: when working with API's
-
When commits are in parts Eg:
- π [1/3] Auth: setup firebase configs
- π [2/3] Auth: setup auth routes
- π [3/3] Auth: finishing with auth functionalities
-
Commit Body
- In this we can add a brief description of the modification we did in the code. So overall it would look like -
git commit -m "π[API]: Handle CORS policy" -m "Desc: added Cors libraries to access backend from the react, added whitelist π₯"
- In this we can add a brief description of the modification we did in the code. So overall it would look like -
-
-
Push the changes to the same working branch (do not push on origin master!)
git push -u origin your_branch_name
-
To create a Pull request ,click on compare and pull requests.
-
Add appropriate Title and Description explaining the work you have done.
-
And Done!! π₯³ Wait till your PR gets merged after successful submission! π