1 of 1

Design and Implementation

  • Tools

  • System Sequence Diagram

Motivation/Goal

We started our project with a use case from our "client" Dr. Silaghi:

  • Create a system where a user can contribute to documenting code from PHD students with the assistance of ChatGPT, and while not on campus.

To us, we thought the solution would likely include a website that can be accessed through Florida Tech's internet; whether through vpn or otherwise. The goal became to create a platform for hosting all the necessary tools in one place, so that a user may start documenting with as little roadblocks as possible.

Approach/Features

With the input from Dr. Silaghi the following functional requirements were determined:

  • The system shall integrate with GitHub to fetch repositories
  • The system shall provide an editing GUI for documentation
  • The system shall integrate with an LLM to offer generative assistance to the user
  • The system shall have signing in functionality

With these requirements in mind, we created a website that allows users to create a "project page" that contains a description, a to-do list, a code base from GitHub, a repository for separate documentation files, a user's edit history, and an editing GUI. To make documenting even easier, we also gave the user the ability to highlight sections of the code to be stored in documentation files. Therefore, the user can easily find whatever code the documentation is referring to through a link, and vice-versa.

Evaluation Results

  • The first time we had an unrelated party test the website, we found some of the features to be unintuitive and clunky. Afterwards, we refocused on UI and making the flow of documentation as smooth as possible.
  • The following performance requirements were met:
    • Page load time within 3 seconds
    • Support at least 5000 project pages
    • Search for projects within 2 seconds
    • API response time within 5 seconds
  • One request Dr. Silaghi had was to use FlowDoc to document the FlowDoc source code. This was a great way to showcase the effectiveness of the software while completing our required deliverables.

Limitations and Improvements

Limitations:

  • The LLM we use is not ChatGPT because no free version was available; an alternative, Groq, was chosen instead
  • The system has a small scale with a single dedicated server handling all of the operations
  • The only way to import documents is to pass them through GitHub rather than the website itself
  • The documentation file is currently only accepted as Markdown

Possible Improvements:

  • The application could be scaled to handle more projects down the line
  • The software could be expanded to support more file types
  • The AI integration could be used to automate the entire process rather than individual files