We are very grateful for your contribution and your time you spend to help us enhance the application and we are excited to welcome you. Make sure to understand the file structure before any edit.
If you're new to open source, read this article to get involved.
- Improve existing features.
- Add a new feature.
- Test for issues and report them.
- Help in code reviewing and provide feedback.
Here are some cases you'll encounter while contributing:
To add a new component, think about it and its functionality. Is this component used on different parts of the application? if so, put it in the shared
folder. Is this component attached to a specific part? if so, think for what module it belongs and add it to the components
folder in the module you found the component belongs to.
The component should consists of index.js
& style.css
files.
If the component is a page, add its route on the routes.js and it'll be registered directly and if you want to make it appears on the navbar add a inNavbar.label
property to the route object.
If you found that there's a module lacks for integration with back-end or some functionality that depends on something outside the module, add it to the services
folder in that module.
The service should be written like that [serviceName].service.js
as the [serviceName]
is the meaningful name of your service that describes what your service does.
If you see that there's a new module suitable for the application, write a proposal first that describes the following:
- What the module is ? and what does it do ?
- Why you think it's required ?
- What are the requirements you want to finish this module ?
- What is the time expected to finish it ?
- What are the tools you will use to build it ?
- What are the components and services you'll add ? (specify the name of the component and the function of this component).
After your proposal accepted, make a new folder in the modules
folder. The folder should contains components
folder that contains all the components used on this module & services
folder that contains all the services provided to the module.
Make the name of the components helpful and meaningful that describes the functionality of the components. Don't forget to make the component as we described before.
If you found a critical bug, open an issue
on the issues tab and provide a detailed description about what you found.
Please read the
style-guide.md
file if will contribute tofront/
.
For typos and other wording changes, you can directly open pull requests without first creating an issue. Issues are more for discussing larger problems associated with code or structural aspects of the curriculum.