Development Mentor / Architect
Logistics:
* 8hrs / week
* Work most closely with Dirk
* Architecture - build on work by John/Dirk that maps out core features from user perspective
FOCUS:
Senior development mentor:
Tasks:
1. Act as a senior mentor to P2PU software lead
2. Provide code-review and design input as needed
Goals:
* Support DU in his role as developer
* Provide review / feedback / advice as needed
Architecture design
Tasks:
1. Review and give input to draft concepts of a modularized software architecture for Lernanta (including strategy for exposing public APIs)
2. Scope core functionality into modules and define interfaces
3. Create module blueprints -> conceptual design, prototype, documentation
4. (optional/ time permitting) Support implementation of modules
Goals:
* A more modular P2PU
* Faster innovation / prototyping in-house
* Ability to support a narrow scoped high quality learning platform
* More people innovating / experimenting / expanding around P2PU
Approach:
* Not building from scratch, but growing / improving / iterating based on what we have.
NOTES:
Architecture
- Chart out priorities for what we want to build
- Build out minimimum possible to enable other people to carry on
- Move towards more modular architecture
- We use our own interfaces
- Focus on Platform type work that focuses on our objectives
- Example: Profiles (Accomplishments / Achievements)
- Build profiles that show achievements
- Build API so that any django app can create achievements
- P2PU.org - search and discovery platform
- Indexing, search, etc all built into "mothership" code base
- 3rd party app can interface with p2pu's search / discovery functionality
- Introduce background worker architecture
- Django App structure is not sufficient (need more clearly separated modules)
- Develop an integration structure that let's us connect different services, like disqus etc.
- Define extension points, interfaces and use them internally
- Through practical work -> inform our strategy for exposing APIs
Please read http://disfunksioneel.blogspot.com/2012/06/p2pu-api-story.html
Two separate concerns that's related
- Public APIs
- Modular architecture