Monday 27 June 2016

Integrating Components of SIM

It feels like there are two parts of SIM. Posts on my blog confirm that too. 
One part is responsible for displaying all the completed work to the user. I am not talking about UI here. UI needs major improvement but is not the priority right now. This part only displays the tables created by SIM in a very modest manner. Not to overstate things but the Django framework is used for this purpose. 
The other component is the one which is also the oldest. And one that is still farthest from being complete. The parsing part, requires all the business logic, most interactions with the database and bulk of the time investment. Unlike the previous part, this one started out as small C++ functions coming together and eventually getting too complex to handle with efficacy. Hence it was decided to take this part and try and make it professional. By professional I meant avoid writing code from scratch and use some tool instead. Flex and Bison were selected for this purpose.
But today was the day to bring these together. Although none of the parts are completely complete, but still this marriage was long due and much anticipated. I knew that if done well, this combination will push the whole project to a meaningful form like no other SIM has seen so far. And so it did. But first let me quickly mention how it all happened:

1) Write a homepage view in Django that gives two options, one to see the tables and other to get a file from user and parse it into the database. 
2) Write subsequent views and map urls to make sure the site's structure is coherent and intuitive.
3) Device a way in which the user can upload a file for parsing. References were taken from another project that used Django and required the user to upload files: Civil Octave.

Next up is improvements in the UI and loads of parsing.

No comments:

Post a Comment