-
-
Notifications
You must be signed in to change notification settings - Fork 3.8k
SLoP 2022
Oppia is excited to join the 2022 edition of the Semester Long Project (SLoP). Semester Long Project is a program that is open to college students from India. It aims to introduce students to open source software development and is modeled after GSoC and Hacktoberfest. Students will contribute to opensource projects over the course of 2 months and gain points for their contributions in the process. The students will be ranked based on the points they accumulate. The ranks will be viewable on a public leaderboard hosted on the program website. See program website for more details.
- Mentor Application Begins: 4th September to 16th September
- Student Application Period: 18th September to 28th September
- Coding Period: 1st October to 29th November
- Register as a student on the SLoP website.
- Follow the instructions on the Getting Started page on the wiki. Please note, when filling up the contributor survey please indicate that you are taking part in SLoP.
- Once you have submitted the CLA and New Contributor Survey, you will be contacted by your on-boarding mentor who will help you make your first contributions to Oppia. But while you wait for the mentor to contact you, feel free to take a look at issues with the following labels in the Github tracker to pick an issue that suits your skills and interests: ”good first issue”, “good second issue”, “Project-specific starter issue".
- Your onboarding mentor will suggest starter issues for you to work on. These issues will have point labels of the form “SLoP-”.
- If you would like to take up issues that are not starter issues and do not have the point label assigned to them, please contact your onboarding mentor and request for the score for the issue. Your mentor will assign a score to the issue and communicate the same to the org admins. The org admins will then add the relevant label to the issue.
- Make sure that the issue that you are working on has a score assigned to it before you merge the PR for that issue. If there is no label, please contact your mentor.
- Keep in touch with your mentor and give updates on regular time intervals. This can be something which you can figure out with your mentor. It's a good practice to communicate to your mentor at least once a week.
- Your PRs should get reviewed by your mentor within 24 hours but if for some reason the mentor is not reachable for more than 24 hours then contact the org admins (see Escalation Policy).
- In case of any doubts or issues you should immediately talk to your mentor.
Who are the mentors? @gp201, @mridul-netizen, @JeeveshGarg as well as team members of project specific teams automatically become mentors for SLoP participants.
- The mentor is expected to follow the same process that the onboarding team follows. Please find the instructions here.
- Please review assigned PRs within a 24 hr period.
- If you cannot review in that time frame, due to a one-off problem, please communicate the same in the PR thread and mention when you would be able to review the PR.
- If you cannot review PRs in a 24 hr time frame for an extended period, consider temporarily assigning code-ownership to another experienced contributor.
- If a student shows no activity for an assigned issue for >1 week, de-assign them so that other contributors get a chance to work on the issue.
- Project leads may need to score project specific issues if a student requests to work on them (see “Scoring”).
- Mentors are encouraged to have check-ins with their students on a weekly basis to make sure the students aren't stuck and are having a positive experience.
- The level of mentoring is expected to be slightly higher than that of hacktoberfest and dealing with new contributors but less than that of GSoC. Please note: Apart from the standard “24 hr review” rule, there is no formal time commitment for a mentor. Onboarding
There are no changes to the current onboarding process. Onboarding mentors can follow the same guidelines they follow for new contributors. There will be no additional responsibility for the onboarding mentors. However, the project leads may need to score project specific issues if a student requests for it. See Scoring section for details.
All starter issues will be assigned “point labels” of the form “SLoP-”. The organisation admins will do this before the program begins for Oppia-web.
However, if a student is interested in working on an issue that does not have a point label assigned and has indicated the same to the mentor, the mentor should then assign an appropriate score to the task. This should be communicated to the org admins so that a relevant “score” label to the issue can be added.
Please note, the assigned score for a task may change if the task is more complicated than initially evaluated. If this is the case, the students are required to work with their mentors to change the score. The org admins need to be informed so that the score label can be changed.
If there are any SLoP-related doubts / concerns, please reach out to the org admins (@seanlip, @BenHenning).
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