Talk:Projects for new developers
Note: The following list of projects have mentors who have not yet confirmed whether they currently wish to mentor a project. If you are listed as a possible mentor, please either move your project to Projects for new developers (to confirm that you wish to mentor the project) or delete it from this page (if you no longer wish to offer it as a possible project).
Clef | Two-Factor Authentication
Create Clef two factor authentication plugin, so a user can log in using their mobile to reduce login time. This will improve security and reduce the login time for users.
- Skills required: PHP, Javascript
- Difficulty level: Medium
- Possible mentor: Rajesh Taneja
Multi-step login screen
Update the login screen to first ask for a username, and then the password as a two-step process. See the login process for Google
- Skills required: PHP, JavaScript, Mustache
- Difficulty level: Medium
- Possible mentor: John Okely
2FA - Two Factor Authentication
Add support for Two-Factor Authentication. This would work well when combined with the Multi-step login screen. Factors requiring consideration include the Mobile app integrations.
- Skills required: PHP, JavaScript, Mustache
- Difficulty level: Medium
- Possible mentor: Andrew Nicols
CLI Helper for Moodle Developers
Possibly an addendum to MDK, a set of scripts to help facilitate various common tasks. In particular:
- creation of Persistent Objects including their Class files, the XMLDB code to create their tables, and the XMLDB upgrade scripts required to upgrade (including version bumps)
- Skills required: PHP, Python?
- Difficulty level: Hard
- Possible mentor: Andrew Nicols
Trait for Mock DB in unit tests
In moodle we run every unit test using a real database. This is extremely slow with little benefit. Granted it does catch some cross-database compatibility issues, but we don't need it for every test. We should add a trait that test classes can use that will automatically set up mock $DB to save processing power and unnecessary waiting for DB.
- Skills required: PHP, PHPUnit
- Difficulty level: Easy
- Possible mentor: Andrew Nicols or John Okely
Mock implementation of DML
In moodle we run every unit test using a real database. This is extremely slow with little benefit. Granted it does catch some cross-database compatibility issues, but we don't need it for every test. It is possible to extend moodle_database and mock all the calls to use an in memory/mocked database. The easiest way to do this may be to use first make a Data Access Object implementation, and then use a mock DAO
- Skills required: PHP, PHPUnit
- Difficulty level: Very Hard
- Possible mentor: John Okely