emoncms / MyHomeEnergyPlanner

My Home Energy Planner - Open Source home energy assessment software based on emoncms framework + openbem
GNU Affero General Public License v3.0
22 stars 27 forks source link

Move to Django #412

Closed cagabi closed 4 years ago

cagabi commented 5 years ago

We are thinking about moving to a new framework. The chosen one is Django (python) as this is what we are using for everything new in Carbon Co-op. These are first thoughts about the process to do it.

MHEP is very much client side (Javascript) with some backend php (emonCMS framework), so the user interface will require minimal changes while we will need to rewrite everything that has to do with creating, deleting and saving users, libraries, images and assessments.

MHEP backend can be divided in 3 layers of functionality:

The Assessment layer can be ported into the new framework as it is now.

It doesn't make sense to port Organisation/user and Library management as they are now. We have talked many times about changing them and even given it some thinking but never actually made a specification. It makes sense to use the time that would take to port them to the new framework to remake them as we want them to be.

As part of this process it makes sense to also write automated tests to ensure that the new MHEP still behaves as it currently does. Taking into account what I say above, porting the Assessment bit could be test driven: writing the tests for the current version and those tests would still be valid after the port. This also applies to some of the functionality of User/organisation and Libraries management.

I will be the one writing the technical specification and liaise with whoever does the work but before we get to that stage we need to rethink:

My proposal is that I come for 2 days on the week of the 27th of May and we spend one morning on each of those while I use the afternoon to write a clear specification.

ghost commented 4 years ago

Done!