-
-
Notifications
You must be signed in to change notification settings - Fork 4.2k
Home
Thanks for your interest in contributing to the Oppia project, and making it easier for students to learn online in an effective and enjoyable way!
There are lots of ways to help out and become an Oppia contributor, from joining our team of lesson creators to fixing a bug in the codebase. Don't worry if you're new to "open source," or if you're still a student -- many of our contributors are, too, and we'd be happy to provide mentorship and support if this is your first time contributing to an open source project. The main thing is that you care deeply about helping people around the world to learn things better, and that you're responsible and reliable.
To make it easier to get started, we've catalogued some of the different ways to help out. Please feel free to take a look through them, and see if any interest you:
If you are interested in working on Oppia's Android app, you should also take a look at the oppia/oppia-android repository.
If you run into any problems, you can check out the user documentation or our GitHub Discussions board.
Finally, if, after reading the above links, you'd like to help, but aren't sure how -- don't worry! The Oppia project is very multi-faceted, and we'd be glad to help you find something to do that matches your interests and skills. Just fill out this form to let us know what you'd like to help with, or write to us at volunteer@oppia.org and tell us a bit about yourself and what you'd like to do. We'll do our best to help you get started!
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
- Oppia's mission
- Code of Conduct
- Get involved!
- How to report a bug
- Google Summer of Code 2024
- Hacktoberfest 2024
Developing Oppia
- FAQs
- How to get help
- Getting started with the project
- How the codebase is organized
- Making your first PR
- Debugging
- Testing
- Codebase policies and processes
- Guidelines for launching new features
- Guidelines for making an urgent fix (hotfix)
- Testing jobs and other features on production
- Guidelines for Developers with Write Access to the Oppia Repository
- Release schedule and other information
- Revert and Regression Policy
- Privacy aware programming
- Code review:
- Project organization:
- QA Testing:
- Design docs:
- Team-Specific Guides
- LaCE/CD:
- Developer Workflow:
Developer Reference
- Oppiabot
- Git cheat sheet
- Frontend
- Backend
- Backend Type Annotations
- Writing state migrations
- Calculating statistics
- Storage models
- Coding for speed in GAE
- Adding a new page
- Adding static assets
- Wipeout Implementation
- Notes on NDB Datastore transactions
- How to handle merging of change lists for exploration properties
- Instructions for editing roles or actions
- Protocol buffers
- Webpack
- Third-party libraries
- Extension frameworks
- Oppia-ml Extension
- Mobile development
- Performance testing
- Build process
- Best practices for leading Oppia teams
- Past Events