Tech Tutorials Brainstorm

Krishnan recently suggested a great idea to help onboard new volunteers and make our weekly developer meetings more educational - weekly technical tutorials with recorded screencasts on how to carry out certain tasks related to Mifos development.  These tasks might be for brand new developers or for folks just looking to get more up to speed on the Mifos codebase.

It's a chance for our senior contributors and experienced Mifos developers to pass their knowledge and help bring in a new generation of Mifos developers.

Krishnan started out this list of ideas he'd like to be explored over time.  Please edit this page with ideas for topics you'd like to be covered.  Let's help make the learning curve for new Mifos developers a little less steep!

Topic

Presenter

Date Scheduled

Forking mifos on github, pull requests, JIRA, etc.* How to fork mifos on github, how to create a pull request and what happens to these requests 

  • Reviewing patches - Testing on hudsonBuild and waiting on results to either merge/reject patches.
  • Commit descriptions and JIRA ticket comments.
  • Achieving successful pull requests - Running tests locally and not pushing commits until these pass.

Jakub Slawinski

Feb 1, 2012

Setting up one's workspace (not more than 5 minutes)

 

 

Running tests successfully and ensuring one's env is good, some quick maven tricks and tips

 

 

High-level decomposition of app codebase
a) projects (16 and counting...!) and purpose, 
b) relating functions and screens. 
c) decomposition by app layers/tiers 
d) deprecated stuff to be wary of
e) correlating tests and code to add new tests on change and ensure against regression, *key abstractions* 
f) UI
g) facades
h) entities and ORM
i) Authentication and ACL
j) "round-trip" from UI to db and back for a few key screens
k) lots more...

 

 

Making a simple text change in a consistent manner on several screens (ensuring string resources are good, etc.)

 

 

Making a possible schema and/or data change and ensuring liquibase changes.