Skip to content

University project for Software Engineering (small Spring Boot CRUD application/API).

Notifications You must be signed in to change notification settings

nick2202/coop-list

Repository files navigation

1. Git

  • used branches
  • used merges
  • tried out Gitflow

2. UML

  1. ERM ERM
  2. Sequence Diagrams
    1. Sequence Diagram addItemList (manual) Sequence Diagram (addItemList)
    2. Sequence Diagram addItemList (generated) Sequence Diagram (addItemList)
    3. Sequence Diagram addUserToList (generated) Sequence Diagram (addUserToList)
    4. Sequence Diagram registerUser (generated) Sequence Diagram (registerUser)
  3. Component Diagram Component Diagram

3. Event Storming & DDD

Miro Board Event Storming

4. Metrics

SonarQube (test coverage tried with Jacoco but did not work) SonarQube

5. Clean Code

Cheat Sheet (Java)

  1. see project structure
  2. see any Class
  3. e.g. by using streams (see e.g. addUserToList)
  4. see entity classes or services
  5. see this Enum
  6. e.g. using SpringBoot
  7. see services ( e.g. ItemListService)
  8. see tests

6. Build Management

Maven:

  • multi-module
  • calls tests automatically
  • generated API docs with springdoc-openapi-ui as YAML (Maven dependency)

7. Tests

Unit Tests:

Integration Tests:

  • ListItemRepositoryTest
  • Endpoint Tests - Overview (manual via Postman) Endpoint - Overview
  • Endpoint Test - registerUser (POST) (manual via Postman) Endpoint Test - registerUser (POST)

8. Build Management CI/CD

Used Jenkins and a pipeline to build from Github on a local server with a Jenkins file.

9. IDE

Intellij:

  • Setup setup
  • Debugging debugging

Favorite shortcuts (using old Eclipse keymap):

  • Ctrl+Space - Autocomplete (of course)
  • Ctrl+Shift+Space - QuickDoc
  • Alt+Shift+R - Refactor
  • Ctrl+Shift+F - Auto-Format
  • Ctrl+Shift+N - Generate Getter/Setter, Constructor etc. (custom)

10. DSL

11. Functional Programming

(mostly) side effect free functions & the use of higher-order functions & functions as parameters and return values & use closures / anonymous functions:

(annotated with // functional programming example)

only final data structures:



next features to be added:

  • user authentication
  • frontend

About

University project for Software Engineering (small Spring Boot CRUD application/API).

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published