Tutorial 2 - About Project 1
Slides
Can be found here.
Resources
- How do RSS feeds work by rss.com (link)
- Running Sonarqube using Docker (link)
- A catalog of design patterns and code smells: refactoring.guru (link)
- A taxonomy of software smells by Tushar Sharma (link)
- On the MVC pattern by MDN (link)
- What are DAOs, DTOs? by index.dev (link)
- Tutorial on the Java Persistence API (JPA) (link)
- WeAudit VSCode Extension (link)
- 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
- Only UML class diagrams are required. You only need to look at classes from the
core
,web
andweb-common
folders. - 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.
- You can omit getters and setters and such methods from the diagram. Write this in your assumptions.
- You don’t need to go into fine grained detail for all the exceptions thrown.
- 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.
- 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.