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