-
-
Notifications
You must be signed in to change notification settings - Fork 4.1k
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
- 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