Hey all π
Welcome to project ovuli. I will try to make this guide as simple as possible and will cover all aspect of this projects and way in which you guys can contribute.
- Go in to the issues section and find the issue you are interested in.
- Comment on the issue that you are interested.
- The Mentor will assign you the issue.
π Make sure that you are assigned task before working on it.
You can get your own fork/copy of ovuli by using the Fork button.
You need to clone (download) it to local machine using
$ git clone https://github.com/Your_Username/ovuli.git
This makes a local copy of repository in your machine.
Once you have cloned the ovuli
repository in Github, move to that folder first using change directory command on linux and Mac.
# This will change directory to a folder ovuli
$ cd ovuli
Move to this folder for all other commands.
To install dependencies
yarn install
to run locally
expo start
Whenever you are going to make contribution. Please create seperate branch using command and keep your master
branch clean (i.e. synced with remote branch).
# It will create a new branch with name Branch_Name and will switch to that branch
$ git checkout -b Branch_Name
To add the changes to the branch. Use
# To add all files to branch Branch_Name
$ git add .
To commit type in a message relevant for the code reveiwer using
# This message get associated with all files you have changed
$ git commit -m 'relevant message'
Now, Push your awesome work to your remote repository using
# To push your work to your remote repository
$ git push -u origin Branch_Name
Finally, go to your repository in browser and click on compare and pull requests
.
Then add a title and description to your pull request that explains your precious effort.
π If you want to know the commands to do it see this: Pull Request Gist
I know not everyone has their grasp on React Native yet but there are multiple ways to contribute in this project.
- Design: If you feel like that your Design sense is awesome. This section is for you, we are using figma to create deisgn. All the wireframes will be uploaded in
wireframes
folder. - Documentation / Wiki: Documentation is very important aspect of any open source project and it is for this project as well. You might learn a lot while writing about it.
- Language Translation: We are not using google translator to be precise. Also the language conversion will be only for UI elements. Feel free to add your own language. We will be storing this info in
languageBase
folder. - Report Issues: I consider this as one of the most important tasks. Follow the steps mention is upcomming section.
- Code: Last but not least you can code the feature or fix a bug to make it flawless. There are two ways you can do that
- HTML & CSS: We are using Atomic Design System so you can even just design and button by changing it's color and still have a big impact of the over all platform.
- React Native: You can go into the screens and start writing react code to complete feature or fix the bug.
π Whatever you choose first contact me @sarthology.
Type | Points |
---|---|
Design | 4 |
Documentation / Wiki | 2 |
Language Translation | 2 |
Report Issues | 2-4 |
Code | 4-10 |
We will be using Github issues, Great Bug Reports tend to have:
- A quick summary and/or background
- Steps to reproduce
- What you expected would happen
- What actually happens
- Screenshots / Gifs / Videos
- Notes
People love thorough bug reports. I'm not even kidding.
-
Start using functional components.
-
Start using module resolver.
eg.
import LanguageScreen from '../../languageScreen';
import LanguageScreen from '@/screens/profileScreen/LanguageScreen'
- Easy to debug the file.
- Increase readability.
-
Don't use Inline styles.
-
Please take create of the variable names. A variable name should define the function work.
-
If you are using colors. Then please create a color object for your component.
- Please add the outside the component scope like styles object. Define this after the Imports.
e.g.
const colors = {
colorName: 'colorCode'
}
In the future, if we have to change the color so we don't need to find them. This makes easy to find and updates.
By contributing, you agree that your contributions will be licensed under its MIT License.