(English: revive) One place to store and view aircraft maintenance records.

Demo Video

Project Experience

Insights

After completing the project, I realise the value of being able to plan most of the work in advance even before typing a single line of code. The time spent on refining and perfecting the ER model and fixing the schema would save even more time during the actual development phase of the project. Simply put, the amount of time ‘saved’ by skipping straight to the coding would pale in comparison to the amount of time lost and wasted tweaking the database parameters at every turn.

I also enjoy being able to ‘exploit’ the templating functions available at my disposal, as it saved me a lot of time in designing my web page. After finishing the initial layout, all the subsquent HTML files after it extended that file. It was something I learnt during ISSL through the CS50 lecture and it was quite useful in the end. This was especially true when I was able to have many pages that were mostly just Jinja, there just to be able to load the data and nothing more, as the styling was already done in the templating.

While quite against its use at first, I realised the value of Javascript in the coding of webpages, as it reduced the number of HTTP requests I needed to make (I realised that halfway when I was doing pure Flask-Jinja-HTML). This newfound niche for JS helped me code more dynamic web pages which improved the user experience. See: the instantaneous addition and deletion of options for aircraft.

View on database systems

After this project, the importance of database systems, especially for web applications, is clear as day. It forms the backbone of the application, without which your application would have no substance and therefore purpose. Thus being able to tailor the design of the database to the needs of the web app is crucial as it would either bloat or streamline the integration of the two.

Extending from this, the versatility of the web application would also affect the usability of the web application. Designing the database to be versatile would have its long-term benefits - greater ability to expand the scope of the project is indeed one of the largest factors. Overall, this project could and would cover a broader topic given more development time.

Project experience

Given that I am about to graduate this year, knowledge of web and database systems would give me an edge in collegiate studies as well as for internships, as it is a unique skill which cannot be quickly taught over a ‘summer bootcamp’ type of course.

However beyond this, I believe that being able to develop web applications with the backend in mind would be useful in other personal projects in the future, as the knowledge to create a template app is already there. With experience in templating and using Flask as a web framework, I could more easily create and host my own web application for whatever purpose the project would be. This relates quite well with Mobile App Development, whose skills from the module have enabled me to develop various apps for Engineering Good and other VIA projects.