Posts

  Week 13 – CST499 Fall 2025 Capstone This week, we completed our Capstone Festival Presentation Outline. Although it is not due until December 7 th , we decided to turn it in early to receive feedback and have time to make any suggested changes. We decided to assign sections to each member for the outline and presentation video. I completed the introduction and problem statement sections. I also worked on the “title” and “thank you” slides for the presentation. Next week we will continue working on the Capstone Video Presentation and conduct Project Testing. Our client agreed to test our project at our weekly meeting next Tuesday. We will also continue to fix any bugs that we find. At this time, we are not facing any challenges that require instructor assistance. Our team will meet with our advisor on Friday and discuss features that will need to be deferred to future work.
  Week 12 – CST499 Fall 2025 Capstone This week, I updated the search bar functionality so that it now matches summary content in addition to the titles. This improvement was suggested by our client, and it is a great addition to the user experience. Users are no longer required to know an exact title, and they can simply type in a topic which will then generate titles of summaries whose content includes that topic. I also added a default button that opens the Wiki site without the need to pick a topic, which was a recommendation from our advisor. Since the default button does not open any tiddler, we added a welcome tiddler instead of opening a blank story river. Kate implemented the translation functionality for the welcome tiddler. This week, our team also added unit test files to test all app.py files within the containers. I implemented the unit tests for the publisher container which achieved 100% coverage. Next week, our focus will be on completing the Capstone Festiva...
  Week 11 – CST499 Fall 2025 Capstone This week our team worked on improving the summarizer service. The summarizer uses an LLM to generate concise summaries from the clean data provided by the extractor. The summaries are generated in English and translated into traditional and simplified Chinese. We were also able to implement automated publishing of our project using GitHub Actions and GitHub pages. My main contribution this week was to improve the UX/UI design. Following feedback from our advisor, Dr. Dongji Feng, we added a homepage in addition to the main wiki interface. I implement a homepage featuring a search bar that allows users to directly search for tiddlers stored on the wiki. Once the user selects a tiddler, the wiki automatically opens with the chosen tiddler displayed on the story river. From there, users can continue using the built-in search bar to find tiddlers.   Our plan for next week includes implementing unit, integration, and system testing, as w...
Week 10 – CST499 Fall 2025 Capstone This week, our team continued making improvements on the crawler and the summarizer. The crawler has a more robust whitelist.yml file that includes additional link seeds, broadening the scope of Nanjing-related links it can crawl. The summarizer now uses the LLM to first generate an English summary, which is then translated into both traditional and simplified Chinese. My main focus this week was on improving the UX/UI design for the wiki site. We decided to implement a wiki site that closely resembles the client’s existing site. This idea came up because their current wiki page theme and color palette complements the rest of the pages on their website. The wiki site now has most of the same functionality as their current site. Users can click on a summary title in the “Recent” tab which renders a corresponding tiddler in the story river. Users can also edit these tiddlers or they can generate their own tiddlers. Additionally, users can save any ...
  Week 9 – CST499 Fall 2025 Capstone This week, our team made significant progress on the summarization pipeline and publishing for our project. We successfully connected the summarizer to a local LLM running on the client’s computer via an API. This setup allowed us to generate summaries much faster, which helped us efficiently test and refine the summarizer’s output. On the publishing side, we implemented a working TiddlyWiki page that displays the generated summaries as tiddlers. Each summary appears in a “Recent” list, and clicking on a title opens its corresponding tiddler with the full summary. Marcelo handled most of the code for generating the HTML file using the TiddlyWiki CLI, while I contributed by designing and implementing a CSS stylesheet and theme to improve readability and give the site a cleaner appearance. The website now meets the requirements for a minimum viable product (MVP), though we plan to continue refining it. Next week, we plan to focus on UX/UI i...
  Week 8 – CST438 Software Engineering List the 5 most important things that you learned in the course, and why you chose them. This course provided us with a comprehensive list of modern tools and practices for software engineering. We covered topics ranging from development methods to cloud deployment. The five most important things I learned in this course include Agile development, Plan and Document development, using GitHub for version control, using Spring and React along with Selenium for writing software, and AWS deployment. Learning how to apply Agile project development along with Behavior-Driven Development and Test-Driven Development gave me a deeper understanding of how to design software with the user in mind and ensure proper functionality through early testing. BDD helps ensure that the final product meets the expectations of stakeholders and TDD helps build confidence in the project by writing tests first. These practices encourage maintainability and reduce ...
  Week 7 – CST438 Software Engineering Describe some of the differences between using an Agile process and using a Plan and Document (or Waterfall) process.  The are many differences between using an Agile process and using a Plan and Document process. Some of the more noticeable differences are found in their approach to planning, flexibility, and team structure.   In an Agile process, development planning is iterative and ongoing. The project is broken down into short cycles called sprints that lasts one or two weeks. In P&D, the planning details are set for the entire development before any work begins. This is because each phase relies on the previous phase being completed, like a waterfall. Flexibility in an Agile process is high. The stakeholders are actively involved in the process to ensure the product meets their expectations. They provide continuous feedback which may change the project requirements. Due to the iterative nature, it is easier and...