Fetching the latest programs, projects, and workspace data.
Find open source projects actively accepting contributors. Search repositories, filter by program milestones, difficulty tags, or tech stack.
Use our Orbit AI Matcher to find out! Get instant matching scores based on your developer skills, preferred frameworks, and contribution experience.
Convert your selected open-source project into a winning GSoC, LFX, or Outreachy application using Proposal Studio.
The app is currently limited to displaying a single list of basic numeracy topics. Together, these topics comprise what we call a 'classroom'. With this proposal, my aim is to introduce support for more than just mathematics topics by revising the core home screen & navigation flows to support topics grouped by their classroom. Future classrooms will include science, financial literacy, and more.
Oppia.org's blog is currently hosted on "Medium." I'd want to have the blogging interface on Oppia.org, so it's integrated with the rest of the site. This will allow the site's content to be hosted on a single platform. The goal of this GSoC project is to finish the blog interface's viewer functionality and move all of Oppia's Medium blog articles to it, so that we may continue to use the new blog on the Oppia website. We'd also like to finish the statistics capability in the blog editor page, so that blog editors can see how many views/impressions their blog post entries get.
Oppia currently features a classroom page for Math lessons, which is prominently accessible via the home page, navigation bar, community library, and learner dashboard. Oppia also plans to create classrooms for other subjects. This proposal aims to facilitate the creation of new classrooms directly from the Oppia website. Curriculum Admins will be able to change the publication of a classroom and update all of its properties. These classrooms will then be made available to learners from the community library, the new classrooms page, splash page, and from the learner dashboard. This project also involves updating the topic and skill dashboard to support topic filtering by classroom name and showing classroom details in the topic editor and topic viewer.
<p>The project enhances the current implementation of the comment feature.</p> <p>Features to consider:</p> <ol> <li>Ability for respondents to add comments for their own responses e.g. to add an explanatory comment when answering an MCQ question.</li> <li>Ability for instructors to add comments from more places. </li> <li>Possible extension: Ability to know if the comment/response was read by the student.</li> </ol>
<h5>End-to-End Testing Support</h5> <p>Oppia Android's current testing corpus includes unit tests using the Robolectric testing framework & integration tests using the Espresso testing framework (to ensure that the app operates as expected in a real Android environment). The current tests have a few limitations: they do not correctly facilitate cross-activity navigation flows which actual users will be triggering, and they do not verify that the app can interact with Oppia's backend correctly.</p> <p>To prepare for the global launch of the app, we need end-to-end tests that:</p> <ul> <li>Verify that the app works as a user would expect by playing through select critical user journeys</li> <li>Verify that the app operates as expected when interacting with a local developer instance of the Oppia backend server</li> </ul> <p>We expect that the tests will be written using UiAutomator & are set up for interacting with a local development server (see <a href="https://developer.android.com/studio/run/emulator-networking.html" target="_blank">relevant documentation</a>).</p> <p>Note that this project requires running Linux with virtualization support (in order to run an Android emulator). You will need to make sure your computer supports <a href="https://help.ubuntu.com/community/KVM/Installation" target="_blank">KVM</a> and is running Linux.</p>
<p>This project aims to introduce SVG rendering for all LaTeX expressions in explorations, so that MathJax can be removed as a dependency from the learner pages</p>
Oppia's current Volunteer, Parent-Teacher and About pages currently lack the engagement and clarity needed to effectively convert visitors into users. This proposal aims to revamp the Volunteer, Parent-Teacher and About pages, focusing on creating informative and engaging content and design that aligns with the needs of our target audience as identified through initial user research
<p>This proposal aims to add a new Skills construct at a global level that would replace the existing refresher explorations method that is employed for specific answer groups in questions. Along with this, pretests can also be added to explorations testing particular skills. For this, a skill editor is created for skill creation. The questions for the skills will be from the common Questions construct in the back end. In the future, collections are to be removed and replaced by topics and stories, and hence this project lays the foundation for that also by creating a topic and story editor (and the backend constructs for the same) as well as integrating skills with those.</p>
Oppia's Exploration Player has several issues affecting the learning experience. Learners struggle to distinguish between hints and solutions, and the audio player is hard to find on desktop and takes up too much space on mobile, reducing content visibility. Progress tracking is unclear, and navigation between lessons is difficult. On mobile, limited space and a cluttered UI make it challenging to focus on the content. This proposal aims to redesign the player for better clarity, usability, and efficiency, ensuring a smoother experience across all platforms.
<p>In this proposal, I discuss my approach on improving the existing reporting platform with more data formats to download, with more visualizations and more statistics.</p>
<p>The project is about replacing the current pseudo Role based Access Control System of oppia and replace it with Action based Access Control System</p>
<p>This project aims to introduce frontend routing in oppia using the angular router. This will replace the current backend routing system which uses more resources on both server and the client. After the completion of this project, users will be able to experience quick page changes and a better user experience overall. This project also involves migration from webpack to angular cli. Migration to angular cli will improve the overall development experience with its simplicity and code generation. The new developers starting up with oppia will find the codebase much easier to understand.</p>
<p>This project aims to add three new math-based interactions. They will replace the current math interaction which is buggy and provides only one rule to detect learner answers. The new interactions will solve all the issues that the current interaction has. They will also provide a more versatile rule-set to detect a variety of learner answers. This will allow the creators to provide relevant feedback for the different kinds of answers that a learner can give. With this project, I aim to make the math experience of learners and creators in Oppia as smooth and fruitful as possible.</p>
'Helping learners when they get stuck' aims to implement numerous improvements to make the core learner experience more adaptive, effective and engaging. This project ensures that no learner ever feels stuck and can progress even when external assistance might not be available.
The Oppia Android app is missing three features that the web platform already has. Learners have no idea how far they are in a lesson, revision cards are a flat wall of text with no structure, and worked examples in concept cards are completely invisible. This project adds all three. First, a checkpoint based lesson progress indicator that uses the is_checkpoint state property to show learners their progress as X of N through an exploration, with correct behavior during backward navigation, flashbacks, and checkpoint restoring. Second, structured study guides that replace the flat revision card with a sectioned RecyclerView showing headings and content blocks. Third, a worked example tag handler that parses nested HTML inside oppia-noninteractive-workedexample tags and renders inline Question and Answer blocks using styled spannables. All three features are independently gated behind feature flags and built on top of existing infrastructure.
<p>This project enhances current comments feature being used in the application, by implementing features :-1) Allowing student to submit their explanation on particular feedback response.2) Allow instructors to add comments from more places.3) Fixing other miscellaneous issues related to comments feature</p>
<p>A feature to the lesson player that allows students to explain how they arrived at a (wrong) answer. The aim of this feature is to encourage reflection on the student's part, as well as provide (anonymized) information to creators about student misconceptions, so that the creator can improve Oppia’s feedback for future students.</p>
<p>The project aims to introduce Developer Options to oppia-android. There are many instances when a developer needs to make some database related changes. Doing this manually will take up lot of time and effort. Having such an option as this one will prove handy to perform these tasks without much effort and time. It allows the developers to have access to other debug related features such as viewing analytic event logs and forcing the network state of the app which will also prove useful. In short, this project aims to make the lives of developers in the Oppia team a bit easier.</p>
<p>In this project i will be focusing on adding some more type of interactions which will result usage of android app along with them i will adding one more type to the backend of the project which is written in python and angular js</p>
<p>This Project aims to help the developers in the Oppia Android team build features, solve issues and commit them into the develop branch without affecting the releasable code. In other words, with the help of these parameters, developers will be able to keep their code up-to-date with the develop branch even if the feature that they are working on isn't completed yet and shouldn't get merged into the release-ready code. These parameters will also help us have more granular control over different parts of the codebase. We will have a medium to tweak the App behaviour remotely without the need for a new release.</p>
<p>A lesson translation dashboard for oppia's audio translators. This dashboard will help audio translators to do translation in a much better way. Through this project a lot of new features will be added to the translation dashboard:</p> <ul> <li>Translation status of the entire exploration in the preferred language.</li> <li>Translation status of each state in the preferred language.</li> <li>Translation status of each component of the state (content/responses/hints/feedback).</li> <li>Audio recording.</li> <li>Bulk audio upload.</li> <li>Progress bar for the translation work.</li> </ul>
The aim of this project is to provide two enhancements to the exploration editor page (for creating lessons) for lesson creators: (a) Development of a new "Git-Blame" like feature allowing users to see and navigate through the history of changes to a specific state card of an exploration. (b) Modification in the existing "version-comparison feature" allowing users to see the changes in the metadata properties of an exploration such as title, category etc., while comparing two versions of an exploration. The proposal contains details of calculation of the data related to the history of changes with the help of a beam job. It also contains details about unit tests and end-to-end tests used for testing the correctness of the changes.
<p>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, literacy capabilities, and general focus. One potential behavior in the app is that we don't save the user's progress if they navigate away from an exploration (lesson) which, given how long lessons can take, is expected to be a frustrating experience. To mitigate this, we'd like to introduce support for a lightweight checkpointing system wherein users' saved state is fully retained if they navigate away from a lesson & back.</p>
<p>Increase unit tests coverage of AngularJS and Angular 2+ frontend controllers and directives to 100%.</p>