2022 T3 Hand-Over Document
Purpose of Document
The purpose of this document is to explain to future collaborators of this project what has been accomplished. This document is a guide for future collaborators, on what their next course of action ought to be.
State of Project When Received
- Several key stakeholders had been identified.
- Several features had been derived from the stakeholder personas.
- Two designs had been handed to us.
- A so-called “back-end emulator” and “front-end simulator” was handed to us, which was supposed to be an educationally assistive technology.
State of Project at Hand-Over
- The so-called “back-end emulator” and “front-end simulator” were redefined as an API, the
“
chathistorydisplayer-api” application, and a web interface geared towards testing the API, the “chathistorydisplayer-web” application.- The
chathistorydisplayer-apiapplication is located in the directory calledemulatorin the thoth-tech/ChatHistoryDisplayer repository. - The
chathistorydisplayer-webapplication is located in the directory calledfrontEndSimulatorin the thoth-tech/ChatHistoryDisplayer repository.
- The
- The
chathistorydisplayer-apiapplication had its containerisation refactored. - The
chathistorydisplayer-webapplication was containerised. Docker Composewas integrated and configured to handle spinning up both thechathistorydisplayer-apiandchathistorydisplayer-webapplications.- Quality of life features were integrated into the
chathistorydisplayer-apiapplication. Namely, a static code analyser and linter (rubocop) and a testing suite (RSpecandCapybara). - 83 offenses in the
chathistorydisplayer-api, as detected by the newly integrated static code analyser, were fixed manually. - The
chathistorydisplayer-apiapplication was altered to facilitate the creation of user directories, project directories, and write files from JSON payloads. In comparison, it formerly only created user directories and initialised those are git repositories. The back-end team deemed it appropriate to change this, so that each project is handled as a git repository; this will allow each project to have its history queries for integration into a chat interface. - An API end-point was created in the
chathistorydisplayer-apiapplication to fetch the most recentgit diffof a file. - API end-points were created in the
chathistorydisplayer-apiapplication to handle the deletion of user directories, project directories, and files in project directories. - A diagram, which acts as a proposition, was created on how the [thoth-tech/ChatHistoryDisplayer] https://github.com/thoth-tech/ChatHistoryDisplayer/ may be integrated into thoth-tech/doubtfire-api.
- The
chathistorydisplayer-webapplication had a React component library integrated and it was then leveraged. This resulted in a visual overhaul of the web application. - The
chathistorydisplayer-webapplication had visual buttons created for the deletion of user directories, project directories, and files in project directories. - The
chathistorydisplayer-webapplication hadJavascriptevents integrated into the text input fields, so that it would be clearer what variables were set to during testing. - The
chathistorydisplayer-webapplication hadJavascriptevents integrated into the buttons, so that appropriate API end-points were called.
What Next?
- Read Project On-boarding