-
-
Notifications
You must be signed in to change notification settings - Fork 3.8k
Installing Oppia
If you are looking for more elaborate instructions on how to get started with Oppia, go to setting things up. If you get stuck somewhere and need help please refer to our Getting Help Page.
Note that throughout our wiki, we use the following notations:
-
$
represents a command prompt that is not root. For example, if we want you to type the commandpython
into your terminal, you'll see$ python
. This distinguishes commands (which are prefixed with$
) from output from those commands (whose lines are not prefixed with$
). -
#
represents a root command prompt. For example,# apt-get install python
means to runapt-get install python
as root (e.g. usingsudo
). -
...
indicates where we've omitted content for the sake of brevity.
We also assume that readers (and all Oppia developers) are familiar with the following:
- Standard Unix path notation, including
~
as an abbreviation for the home directory. - Creating and editing text files, including hidden files. Be careful with using graphical editors like Notepad in Windows. These can add carriage returns (
\r
) that confuse our Linux-based development tools. Instead, we recommend using editors designed for programming or command-line text editors. - Basic Unix commands like
ls
,cat
,echo
,cd
, etc. - Using
git
.
If you need to learn or brush up on these, please do so before trying to start the installation so you don't get confused by our instructions.
To install Oppia using Docker, follow these instructions:
If you run into any problems during installation, please read these notes and the Troubleshooting page.
Take a look at our guide for getting started with some common code editors.
If you still face problems, you can open a new discussion in discussions page.
This setup is soon to be discontinued, please use Docker setup below.
To install Oppia, follow these instructions:
Warning: You should always edit Oppia code on your local machine. Do not use web-based editors like github.dev or the editor on github.com. These web-based editors won't run the automated checks that run on your local machine. Pushing without these checks just means that the tests will fail on your PR.
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