Description
TEST, The Expert System for Thermodynamics, is a visual platform created to analyze engineering problems and solutions for students, educators, and practitioners of thermodynamics. With the valuable and extensive experience of the subject, the author has divided these problems categorically forming 16 chapters. TEST is used as a courseware in many universities around the world with thousands of students and more than one thousand educators registered to use it. TEST is mirrored across multiple servers throughout the world. Hence, establishing a trustworthy connection between the mirror and the actual server is important. The users of TEST are classified in three main categories: students, educators and administrators. One of the drawbacks of TEST is that the engineering problems have been stored on the server as static html pages. In order to change any content, authorized users have to manually edit the static html pages, which is not a really good idea. The purpose of this thesis is to provide the educators and administrators with an interface that allows them to dynamically edit the Problems Module. An AJAX based dynamic editor is created for editing or changing any part of the problem. We first demonstrate the power of regular expressions to convert static pages to object oriented form and then store it in MySQL database in JSON format. Once stored in database, any attribute of the problem object can be modified through the editor without having to deal with any static html. This thesis can be further extended to categorize every problem according to its difficulty level and keywords. This categorization will later help students to dynamically create a certain set of problems as per their requirements. The tools used for development are AJAX and PHP. JavaScript is used at the frontend to dynamically create the editor, CSS for controlling the appearance and PHP to interact with the server. PHP Curl is used to create a reliable connection between the vast number of mirrors and the server. MySQL Server is used to store the data.