Skip to main content Link Search Menu Expand Document (external link)

Tutorial 2 - About Project 1


Slides

Can be found here.

Resources

  1. How do RSS feeds work by rss.com (link)
  2. Running Sonarqube using Docker (link)
  3. A catalog of design patterns and code smells: refactoring.guru (link)
  4. A taxonomy of software smells by Tushar Sharma (link)
  5. On the MVC pattern by MDN (link)
  6. What are DAOs, DTOs? by index.dev (link)
  7. Tutorial on the Java Persistence API (JPA) (link)
  8. WeAudit VSCode Extension (link)
  9. The useful tools mentioned are: Docker, Homebrew, IntelliJ IDEA (use your student email for a free license), SonarQube, CodeMR (there is a 1 week free trial), Checkstyle, PMD, Designite.

Some clarifications made during the tutorial

  1. Only UML class diagrams are required. You only need to look at classes from the core, web and web-common folders.
  2. You don’t need to show every single class in the diagram. Only show the classes that are relevant to the subsystem. Use your judgement and state any assumptions.
  3. You can omit getters and setters and such methods from the diagram. Write this in your assumptions.
  4. You don’t need to go into fine grained detail for all the exceptions thrown.
  5. For the LLM pipeline, you are free to use any LLM API. This question is more open ended. You can choose to include metrics you’ve gotten from Sonarqube or CodeMR for detecting design smells.
  6. The LLM pipeline can be written in any language. Use any tools you like. Submit the code in the same repository in a separate folder.

Copyright © 2025 Karthik Vaidhyanathan. Distributed by an MIT license.