-
-
Notifications
You must be signed in to change notification settings - Fork 3.8k
Contributing to Oppia's design
Sean Lip edited this page Aug 16, 2023
·
8 revisions
Thanks for your interest in helping out with Oppia's UX! From user research to product design, UX is an important part of the Oppia project. It’s our priority to provide learning and teaching experiences that are engaging and enjoyable.
The following instructions explain how to get started, and how to find a fun project to work on:
- Sign the CLA so that we can accept your contributions. If you're contributing as an individual, use the individual CLA. If your company owns the copyright to your contributions, a company representative should sign the corporate CLA.
- Fill in the Oppia contributor survey to let us know your interests. You can always update your responses later.
- Note that when filling out this survey, be aware that specifying that you want to contribute to the codebase will result in you also being added to the technical onboarding process. If you're not actually interested in contributing code, you should answer 'No' to that question.
- Familiarize yourself with Oppia's design guide.
-
Create art for lessons
- Oppia lessons incorporate colorful illustrations for storytelling and educational purposes. These illustrations are one of the reasons why our lessons are engaging! If you’re interested in helping out with these graphic design efforts, please fill in this volunteer form.
-
Suggest improvements
- If you notice something on the site that looks a bit off (and that you'd also like to work on), please feel free to log a new issue.
-
Pick up a UX project
- We have some UI/UX design projects available. If you are interested in contributing to the UI/UX design team, please fill out our volunteer form. However, please note that the team is generally oversubscribed, and might have limited capacity to accept new volunteers.
Have an idea for how to improve the wiki? Please help make our documentation better by following our instructions for contributing to the wiki.
Core documentation
Developing Oppia
- FAQs
- Installing Oppia
- Getting started with the codebase
- Making your first PR
- Learning resources for developers
- Codebase Overview
- Coding Guidelines
- Coding style guide
- Guidelines for creating new files
- How to add a new page
- How to write frontend type definitions
- How to write design docs
- Revert and Regression Policy
- Server errors and solutions
-
Debugging
- If your presubmit checks fail
- If CI checks fail on your PR
- Finding the commit that introduced a bug
- Interpreting GitHub Actions Results
- Debugging Docs
- Debugging datastore locally
- Debugging end-to-end tests
- Debugging backend tests
- Debugging frontend tests
- Debug frontend code
- Debugging custom ESLint check tests
- Debugging custom Pylint check tests
- Debugging Stories
- Guidelines for launching new features
- Guidelines for making an urgent fix (hotfix)
- Lint Checks
- Oppia's code owners and checks to be carried out by developers
- Privacy aware programming
- Backend Type Annotations
- Bytes and string handling in Python 3
- Guidelines for Developers with Write Access to oppia/oppia
- Testing
- Release Process
Developer Reference
- Oppiabot
- Frontend
- Backend
- Translations
- Webpack
- Third-party libraries
- Extension frameworks
- Oppia-ml Extension
- Mobile development
- Mobile device testing
- Performance testing
- Build process
- Team structure
- Triaging Process
- Playbooks
- Wiki
- Past Events