(magica)
Hi
I took some time reading your job description, and I feel that I can develop a good solution for you mostly because, while in a different context, the main issues to solve are quite similar to a job a I did recently. It was a kiosk user interface, that collected answers about client satisfaction in an airport but it didn't had a permanent network connection. So, it had all the same problems related to having multiple versions of each survey, update and upload only when there was an available connection, etc...
Back your case, I would use the following:
- RESTfull backend webservice; I usually use PHP Slim framework to handle the requests and RedBeanPHP to handle the database (it supports both MySQL and PostgreSQL); both are open source and easy to maintain
- the administration area, as an Backbone webapp
- the e-learning application, using cordova, compatible with android 2.3+
Since the target devices are low end, in order to make the app lighter, I would suggest the media files to be opened outside the app, using the native audio player to handle the MP3 and an ePub reader (like the one you suggested) to handle the books.
Also, I don't know the reality in the terrain, but if the connection to the backend is not realiable we could think of having a local server (teacher's computer or raspberry pi) locally with an updated version of the lesson's contents and the tablets could sync with it.
Feel free to contact me with any questions
Best regards