Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
65 commits
Select commit Hold shift + click to select a range
d85db8b
feat; implement page layout
EnricoBausenhart Jun 16, 2025
5d99b22
feat: implement meeting preferences page with mock data
EnricoBausenhart Jun 16, 2025
b8a709f
feat: implement match requests according to finished server API spec
EnricoBausenhart Jun 24, 2025
1c99198
Merge branch 'main' of github.com:AET-DevOps25/team-devoops into feat…
EnricoBausenhart Jun 24, 2025
eaf8196
feat: add color schemes and profile page
EnricoBausenhart Jun 24, 2025
9bc6263
feat: add user authentication with Auth0
EnricoBausenhart Jun 25, 2025
cbb52fe
feat: change style of MatchRequestCards
EnricoBausenhart Jun 27, 2025
794e0d8
Merge branch 'main' of github.com:AET-DevOps25/team-devoops into feat…
EnricoBausenhart Jun 27, 2025
c97e6cb
feat: update matching-service entities and repositories to api v2.1.1
stark-cybertech Jun 30, 2025
810c94d
refactor: renamed entity classes for clarity
stark-cybertech Jun 30, 2025
0b62452
feat: add logic for TimeSlotService
stark-cybertech Jun 30, 2025
24a0322
docs: List functions that need to be developed for each service
stark-cybertech Jun 30, 2025
534f3a3
feat: implement ConversationStarterService
stark-cybertech Jun 30, 2025
4ac0bce
fix: remove obsolete code from ConversationStarterService
stark-cybertech Jun 30, 2025
966c47b
gen: generate code and documentation based on latest version of opena…
github-actions[bot] Jun 30, 2025
a2c5cc5
spec: update api spec to v2.1.2
stark-cybertech Jun 30, 2025
1b67d82
gen: generate code and documentation based on latest version of opena…
github-actions[bot] Jun 30, 2025
88c3bb7
feat: implemented groupService logic
stark-cybertech Jun 30, 2025
9d19d9b
fix: fetch userID dynamically at runtime
stark-cybertech Jun 30, 2025
601f8e4
spec: minor update api to version 2.1.3
stark-cybertech Jun 30, 2025
eef50d2
gen: generate code and documentation based on latest version of opena…
github-actions[bot] Jun 30, 2025
bc12f2c
feat: implement MatchService class
stark-cybertech Jun 30, 2025
bc05527
cleanup: remove unused import
stark-cybertech Jul 1, 2025
9fed7ca
spec: minor api update v2.1.4
stark-cybertech Jul 1, 2025
16827b4
gen: generate code and documentation based on latest version of opena…
github-actions[bot] Jul 1, 2025
2ca17d7
fix: replace incorrect exception
stark-cybertech Jul 1, 2025
fbdc200
feat: update MatchRequestEntity types to use generated code
stark-cybertech Jul 1, 2025
0979c67
feat: implemented logic for MatchRequestService class
stark-cybertech Jul 1, 2025
8cd7100
feat: add placeholder implementation for calling genAiService
stark-cybertech Jul 1, 2025
cbc6666
feat: implement logic for registering a group
stark-cybertech Jul 1, 2025
c4e9f8e
feat: setup client generation with openapi-generator-cli
stark-cybertech Jul 1, 2025
15f65b4
fix: add executable permission to script
stark-cybertech Jul 1, 2025
fcfc9ce
gen: generate code and documentation based on latest version of opena…
github-actions[bot] Jul 1, 2025
f8dfd38
fix: remove scm generation
stark-cybertech Jul 1, 2025
a874ec1
gen: generate code and documentation based on latest version of opena…
github-actions[bot] Jul 1, 2025
52312be
remove: remove generated gif artifacts
stark-cybertech Jul 1, 2025
0c7332e
feat: add generated clients to build pipelines
stark-cybertech Jul 1, 2025
b7b1224
gen: generate code and documentation based on latest version of opena…
github-actions[bot] Jul 1, 2025
6dab380
feat: prototype client implementation
stark-cybertech Jul 1, 2025
5fc9e9f
fix: remove syntax errors form sql definition
stark-cybertech Jul 1, 2025
136ca73
fix: fix misplaced comma
stark-cybertech Jul 1, 2025
d7f861f
feat: add support for getting multiple users at once
stark-cybertech Jul 1, 2025
24286e3
feat: add skeleton of Matching algorithm
stark-cybertech Jul 1, 2025
a2fe3a9
feat: add logic for matching functionality
stark-cybertech Jul 1, 2025
d381039
spec: update api to v2.1.5
stark-cybertech Jul 1, 2025
9a9f32b
gen: generate code and documentation based on latest version of opena…
github-actions[bot] Jul 1, 2025
75e5f11
doc: add todo
stark-cybertech Jul 1, 2025
1a48656
feat: create structure for MatchingController
stark-cybertech Jul 1, 2025
b2b2c4e
debug: remove generated clients
stark-cybertech Jul 1, 2025
257ccdb
gen: generate code and documentation based on latest version of opena…
github-actions[bot] Jul 1, 2025
87b47d9
fix: add service tags
stark-cybertech Jul 1, 2025
1305a4a
spec: api update to v2.1.6
stark-cybertech Jul 1, 2025
17d6fb1
gen: generate code and documentation based on latest version of opena…
github-actions[bot] Jul 1, 2025
4cbcdc8
feat: implement MatchingController
stark-cybertech Jul 1, 2025
f773039
fix: resolve typescript errors for docker deployment
EnricoBausenhart Jul 2, 2025
402a7ad
Initial Version of UI (#53)
EnricoBausenhart Jul 2, 2025
ab1c0ad
Feature/user service (#60)
stark-cybertech Jul 2, 2025
360f828
gen: generate code and documentation based on latest version of opena…
github-actions[bot] Jul 2, 2025
257819b
Merge branch 'main' into feature/matching-service
stark-cybertech Jul 2, 2025
2afda4d
Merge branch 'main' into feature/matching-service
stark-cybertech Jul 2, 2025
2829090
feat: Add testing for matching service
stark-cybertech Jul 2, 2025
470b4ed
fix: remove circular dependency
stark-cybertech Jul 2, 2025
e69005d
fix: add missing service annotation to UserClient
stark-cybertech Jul 2, 2025
d87d8e8
fix: add variable naming to test results artifact
stark-cybertech Jul 2, 2025
40c5c63
Feature/matching service tests (#63)
stark-cybertech Jul 2, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 2 additions & 2 deletions .github/workflows/java_tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:
strategy:
matrix:
# Add any future services relative paths from . here
service: [user]
service: [user, matching]

steps:

Expand All @@ -41,7 +41,7 @@ jobs:
if: always()
uses: actions/upload-artifact@v4
with:
name: junit-test-results
name: ${{ matrix.service }}-junit-test-results
path: |
server/${{ matrix.service }}/build/test-results
server/${{ matrix.service }}/build/reports/tests
Expand Down
11 changes: 10 additions & 1 deletion .github/workflows/update_api_spec.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@ on:
workflow_dispatch:
push:
paths:
- 'api/*'
- 'api/openapi.yaml'
- 'api/scripts/*'

jobs:

Expand All @@ -21,6 +22,7 @@ jobs:

- name: Make Scripts Executable
run: |
chmod +x api/scripts/gen_client.sh
chmod +x api/scripts/gen_docs.sh
chmod +x api/scripts/gen_spring.sh
chmod +x api/scripts/gen_typescript.sh
Expand All @@ -43,6 +45,10 @@ jobs:
run: ./api/scripts/gen_spring.sh
shell: bash

- name: Generate Client Code
run: ./api/scripts/gen_client.sh
shell: bash

- name: Generate api.ts
run: ./api/scripts/gen_typescript.sh
shell: bash
Expand All @@ -57,6 +63,9 @@ jobs:
git add server/matching/generated
git add server/user/generated
git add server/gateway/generated
git add server/matching/generated-client
git add server/user/generated-client
git add server/gateway/generated-client
git add client/src/api.ts
git add docs/api.html

Expand Down
19 changes: 19 additions & 0 deletions api/changelogs/changelog_v2_1_2.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
## Info
### Version
v2.1.2
### Date
2025-06-30
### Autor
James Stark
## Changelog:

### Models
- Set required flag for most fields

``` diff

@@ All @@
+ Set required flag for all fields where it is sensible
# This forces the generation of constructors where aplicable

```
25 changes: 25 additions & 0 deletions api/changelogs/changelog_v2_1_3.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
## Info
### Version
v2.1.3
### Date
2025-06-30
### Autor
James Stark
## Changelog:

### Models
- Bug: fix incorrect values for collection models

``` diff

@@ UserCollection @@
- remove attribute Users: User
+ insert attribute Users: [User]
# fix incorrect attribute

@@ MatchCollection @@
- remove attribute Matches: Matches
+ insert attribute Matches: [Matches]
# fix incorrect attribute

```
20 changes: 20 additions & 0 deletions api/changelogs/changelog_v2_1_4.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
## Info
### Version
v2.1.4
### Date
2025-07-01
### Autor
James Stark
## Changelog:

### Models
- Bug: remove userID value from MatchRequestUpdate

``` diff

@@ MatchRequestUpdate @@
- remove attribute userID: UUID
# User should not be changeable!


```
24 changes: 24 additions & 0 deletions api/changelogs/changelog_v2_1_5.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
## Info
### Version
v2.1.4
### Date
2025-07-01
### Autor
James Stark
## Changelog:

### Operations
- Bug: fix incorrect operation name

``` diff

@@ post-api-v2-matching-request @@
- remove operation ID: post-api-v2-matching-request
+ insert operation ID: post-api-v2-matching-request-submit

@@ delete-api-v2-matching-matches-request-id @@
- remove operation ID: delete-api-v2-matching-matches-request-id
+ insert operation ID: delete-api-v2-matching-request-request-id


```
20 changes: 20 additions & 0 deletions api/changelogs/changelog_v2_1_6.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
## Info
### Version
v2.1.4
### Date
2025-07-01
### Autor
James Stark
## Changelog:

### Paths
- Add 409 response and 200 body to api/v2/matching/request/submit

``` diff

@@ api/v2/matching/request/submit @@
+ add return object to 200: MatchingRequset
+ add 409 CONFLICT response when a user already has a match on a given day


```
53 changes: 44 additions & 9 deletions api/openapi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ x-stoplight:
id: ceylawji1yc2t
info:
title: MeetAtMensa
version: 2.1.1
version: 2.1.6
description: |-
This OpenAPI specification defines the endpoints, schemas, and security mechanisms
for the Meet@Mensa User micro-service.
Expand Down Expand Up @@ -65,6 +65,8 @@ components:
id: 5grlrzedrmo9k
type: object
description: Object representing a conversation starter in the meet@mensa system
required:
- prompt
properties:
prompt:
type: string
Expand All @@ -76,6 +78,8 @@ components:
id: p1vhmcpea8fmp
type: object
description: Object representing a collection of conversation starters in the Meet@Mensa system.
required:
- conversationsStarters
properties:
conversationsStarters:
type: array
Expand All @@ -91,6 +95,13 @@ components:
id: 67i45cu41e80g
type: object
description: Object representing a group that has been matched in the Meet@Mensa system.
required:
- groupID
- date
- time
- location
- userStatus
- conversationStarters
properties:
groupID:
$ref: '#/components/schemas/groupID'
Expand Down Expand Up @@ -204,11 +215,17 @@ components:
id: 4bem9fq0uukzk
type: object
description: Object representing a collection of matches in the Meet@Mensa system.
required:
- matches
properties:
matches:
$ref: '#/components/schemas/Match'
x-stoplight:
id: xxfpxm2j35k81
type: array
items:
$ref: '#/components/schemas/Match'
x-stoplight:
id: 3k8gw0nlqax44
matchID:
title: matchID
x-stoplight:
Expand All @@ -222,6 +239,10 @@ components:
id: azr6ciwnsz5nr
type: object
description: Object Representing a set of user preferences
required:
- degreePref
- agePref
- genderPref
properties:
degreePref:
type: boolean
Expand Down Expand Up @@ -293,6 +314,8 @@ components:
id: ccqjyx1unnz6s
type: object
description: Object representing a collection of match requests in the Meet@Mensa system.
required:
- requests
properties:
requests:
type: array
Expand Down Expand Up @@ -348,10 +371,6 @@ components:
description: Object representing a request for matching a given user on a given date in the Meet@Mensa system.
title: MatchRequestUpdate
properties:
userID:
$ref: '#/components/schemas/userID'
x-stoplight:
id: rpwxqsd1z3mwd
date:
type: string
x-stoplight:
Expand Down Expand Up @@ -379,6 +398,9 @@ components:
x-stoplight:
id: pdsvthtexm88j
type: object
required:
- userID
- status
properties:
userID:
$ref: '#/components/schemas/userID'
Expand Down Expand Up @@ -528,11 +550,17 @@ components:
id: 8qy8pit8jdvq3
type: object
description: Object representing a collection of student user in the Meet@Mensa system.
required:
- users
properties:
users:
$ref: '#/components/schemas/User'
x-stoplight:
id: l8a1hngdfmgzr
type: array
items:
$ref: '#/components/schemas/User'
x-stoplight:
id: l5erbwkguwpoa
UserNew:
title: UserNew
x-stoplight:
Expand Down Expand Up @@ -796,13 +824,20 @@ paths:
responses:
'200':
description: Request submitted sucessfully
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/MatchRequest'
'400':
$ref: '#/components/responses/BadRequestError'
'401':
$ref: '#/components/responses/UnauthorizedError'
'409':
description: Conflict
'500':
description: Internal Server Error
operationId: post-api-v2-matching-request
operationId: post-api-v2-matching-request-submit
x-stoplight:
id: 1x5ta8qguutzq
requestBody:
Expand Down Expand Up @@ -881,7 +916,7 @@ paths:
$ref: '#/components/responses/NotFoundError'
'500':
description: Internal Server Error
operationId: delete-api-v2-matching-matches-request-id
operationId: delete-api-v2-matching-request-request-id
x-stoplight:
id: shgx14ydoaa2f
description: 'Delete MatchRequest with ID {request-id} from the system'
Expand Down
36 changes: 36 additions & 0 deletions api/scripts/gen_client.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
#!/bin/bash

# generate client code and build files based on openapi spec for springboot backend services

# dependencies:
# - npm:
# - @openapitools/openapi-generator-cli
# - other:
# - gradle

# fail command if any part fails
set -euo pipefail

for path in matching user gateway; do

# echo generating code
echo "Generating client code for $path..."

# generate client code based on OpenAPI specification
openapi-generator-cli generate \
-g java \
-i api/openapi.yaml \
-o server/$path/generated-client \
--additional-properties=scmConnection=false,groupId=org.openapitools.client,artifactId=openapi-client-$path

# echo generating gradle
echo "Generating gradle project files for $path..."

# generate gradle build files.
gradle init \
--type pom \
--dsl groovy \
--no-incubating \
--project-dir server/$path/generated-client

done
Loading