End-to-End Testing Support
End-to-End Testing Support
Oppia Android's current testing corpus includes unit tests using the Robolectric testing framework & integration tests...
Write Frontend Tests
The purpose of unit tests is to validate that each unit of code is performing as expected. This ensures a bug-free experience for the users and that...
Migrating AngularJS components and Writing Frontend Tests
My most favorite thing about Oppia is its Test-Driven-Environment. All these tests (FE, BE, E2E, Lint) will ensure that no new error or bug will be...
Implement lightweight checkpointing
Oppia's lessons can require between 15 minutes and an hour of time depending on a number of factors from learners: understanding of the material,...
Redesigning and Updating the Learner Dashboard Page.
Oppia brings forth a platform to conduct comprehensive courses in the form of classrooms. A classroom contains many different topics in it. At...
Introduce Support for Displaying Copyright Licenses
This project aims to introduce support for displaying the Copyright Licenses of the third-party Maven dependencies used to build the Oppia-Android...
Angular Migration
This project aims to introduce frontend routing in oppia using the angular router.
This will replace the current backend routing system which uses...
Make backend code typed
This project aims at adding strict static type checks to Oppia codebase. In this project, static type checking will be done with the help of Mypy....
Improving Front-End Typed System
The proposal shares product and technical design for the project idea "Improving Front-End Typed System" under Oppia-web. The current codebase...
Implement feature flags & platform parameters
This Project aims to help the developers in the Oppia Android team build features, solve issues and commit them into the develop branch without...
Developer Options Menu
The project aims to introduce Developer Options to oppia-android. There are many instances when a developer needs to make some database related...
Write Frontend Tests
This project aims to write frontend tests to fully cover each service, directive, and components in order to ensure that the quality of code...
Improve Frontend Type System
Oppia uses Angular as the frontend framework with typescript as the primary language, hence this codebase is fully typed which implies that variable...
Move custom JS\TS lint checks to eslint
The project aims to migrate all the JS\TS linter checks written in python using raw parsing algorithms and regex pattern checkers to custom eslint...
Integrating the Oppia blog with Oppia.org
Currently Oppia.org hosts its blog on a separate blogging site, "Medium". I would prefer to have the blogging interface directly on Oppia.org so that...
GSoC 2021 Proposal -- Implement schema validators for the handler params (Nikhil Agarwal)
The project requires to build an architecture for validating args of handler class. After building the architecture, some of the handler class in the...
Improve Exploration save flow: Syncing edits in the background
This project enables the edits made by the creators in the exploration to sync in the background so that the two creators can easily work...
Static Analysis Checks + Improvements
One key part in ensuring a development team reaches optimal efficiency is by ensuring there are reasonable checks in place to avoid regressing...