Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

First stable release v0.0.1 #81

Merged
merged 269 commits into from
Oct 5, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
269 commits
Select commit Hold shift + click to select a range
40a0830
✨ Correctly sync selected team state
jonastahl Jul 27, 2024
9b506b6
🎨 Run formatter
jonastahl Jul 27, 2024
1466f68
💡 Add TODOs
jonastahl Jul 27, 2024
09675d2
🚧 implement check for fully assigned tree in draggable knockout tree
FungOliver Jul 28, 2024
7d300ea
🚧 introduce new class for with String instead UUID for response as ma…
FungOliver Jul 31, 2024
ee38485
🚧 implement saving of teams
FungOliver Jul 31, 2024
4406676
🐛 Allow swapping of teams in KnockoutTree Draggable
jonastahl Aug 5, 2024
36d64da
♻️ Implement new saving of knockout tree
jonastahl Aug 7, 2024
6ae8785
🐛 Fix double loading of signed up in knockout tree
jonastahl Aug 7, 2024
a9e73ba
⚡️ Implement reset for assign knockout
jonastahl Aug 7, 2024
67dfca4
⚡️ Implement saving and loading for assign knockout
jonastahl Aug 7, 2024
155c124
✨ Also generate third place match
jonastahl Aug 17, 2024
942a76d
✨ Show third place if more than 2 players signed up
jonastahl Aug 17, 2024
afb3397
Merge pull request #21 from SecretJ12/bugs/create-third-place-match
jonastahl Aug 17, 2024
72f4f9a
♻️ Layout refactoring
jonastahl Aug 18, 2024
6a0aec2
♻️ Streamline prepare layout
jonastahl Aug 18, 2024
5904226
♻️ Improve loading of data for assign matches - groups
jonastahl Aug 19, 2024
697b24e
✨ Add reset button for group assign
jonastahl Aug 19, 2024
63f80ee
♻️ Reorder and restructure code for group prepare
jonastahl Aug 19, 2024
9c11cad
♻️ Reorder and restructure code for knockout prepare
jonastahl Aug 19, 2024
ccd3161
Merge pull request #22 from SecretJ12/refactor/simplify-prepare
jonastahl Aug 20, 2024
26315ff
♻️ Use vue-query for tournament and competition settings
jonastahl Aug 20, 2024
cbb8e24
⬆️ Upgrade to new vue-query version to reloading bug
jonastahl Aug 21, 2024
5045c46
Merge pull request #23 from SecretJ12/refactor/vue-query-for-everything
jonastahl Aug 21, 2024
9453b58
📝 add documentation to swagger-ui
FungOliver Aug 14, 2024
07386c6
🔥 remove obsolete version attribute
FungOliver Aug 18, 2024
9852070
🙈 update gitignore
FungOliver Aug 18, 2024
c8aa1c7
🚚 rename file to new docker compose naming convention (https://docs.d…
FungOliver Aug 18, 2024
aba78f6
:package: fix warning of moved dependency
FungOliver Aug 18, 2024
54062cd
🚚 move keycloak_realm.json to keycloak folder
FungOliver Aug 18, 2024
3c38fa2
🚚 rename Read.me to be consistent with READ.me in backend and add mor…
FungOliver Aug 18, 2024
c27d23e
🚧 configure production keycloak instance
FungOliver Aug 18, 2024
9379705
🚧 add keycloak configuration file
FungOliver Aug 18, 2024
9fb60b0
🚧 add keycloak_realm to Dockerfile
FungOliver Aug 20, 2024
a291309
🚧 fix access to local database for keycloak
FungOliver Aug 20, 2024
6966112
♻️ this documentation doesn't make sense
FungOliver Aug 21, 2024
23018bb
♻️ update READE.me
FungOliver Aug 21, 2024
d6a48c8
♻️ format ApiInformation
FungOliver Aug 21, 2024
6b595ed
♻️ format ApiInformation
FungOliver Aug 21, 2024
bc49866
🎨 microformat
jonastahl Aug 21, 2024
e5e3743
Merge pull request #24 from SecretJ12/extract-keycloak-to-env
jonastahl Aug 21, 2024
a324f73
🐛 fix keycloak not importing the realm
FungOliver Aug 22, 2024
00fb367
🐛 remove quotation
FungOliver Aug 22, 2024
669009a
⬆️ Upgrade to new vue-query version to reloading bug
jonastahl Aug 21, 2024
5ef26c4
➕ Add calendar and try around
jonastahl Aug 17, 2024
490f883
💄 Fix layout
jonastahl Aug 19, 2024
e602a70
✨ Add endpoints to manage existing courts
jonastahl Aug 20, 2024
c413138
✨ Add court selection and creation
jonastahl Aug 20, 2024
a995b0f
✨ Also send id of matches
jonastahl Aug 21, 2024
c9413d6
🐛 Fix groupMatches without thirdPlace
jonastahl Aug 23, 2024
1df448f
✨ Implement dragging into calendar
jonastahl Aug 23, 2024
af7ad30
🐛 Fix groupMatches without thirdPlace in frontend
jonastahl Aug 26, 2024
3621cc1
🐛 Process already loaded data in matches draggable
jonastahl Aug 26, 2024
7c2d69d
🐛 Add titles to knockout tree
jonastahl Aug 26, 2024
2ad2a85
✨ Extract dates from loaded matches
jonastahl Aug 26, 2024
5accb0c
🐛 Fix dragging to external dragging component
jonastahl Aug 26, 2024
39c06d6
🐛 Fix GroupSystem team type
jonastahl Aug 26, 2024
39f29c6
✨ Save events in list
jonastahl Aug 26, 2024
304b1c5
✨ Implement saving of match dates and court
jonastahl Aug 26, 2024
d3ce512
♻️ Switch from LocalDateTime to Instant
jonastahl Aug 26, 2024
eb63837
🔒️ Only allow match and court config as director
jonastahl Aug 27, 2024
32be7d5
💄 Fix header
jonastahl Aug 27, 2024
e2b7ad5
✨ Redesign match event
jonastahl Aug 27, 2024
f17bbe3
✨ Save and load courts
jonastahl Aug 27, 2024
11ed870
♻️ Increase shown day time of calendar
jonastahl Aug 27, 2024
7643524
Merge pull request #26 from SecretJ12/feature/scheduling
jonastahl Aug 27, 2024
642eead
✅ Add tests for court
jonastahl Sep 1, 2024
d1a126b
✅ Add tests for matches
jonastahl Sep 2, 2024
e88a505
✅ Add tests for tournament
jonastahl Sep 2, 2024
6dee2ab
Merge pull request #29 from SecretJ12/tests/courts&matches
jonastahl Sep 4, 2024
7a74186
🐛 Correctly set progress of competition
jonastahl Sep 2, 2024
0035cbc
🐛 Only allow progress if step is finished
jonastahl Sep 2, 2024
27fe0b8
🐛 Allow editing of teams more than once
jonastahl Sep 2, 2024
de6ed72
✨ Leave byes in knockout when not enough players
jonastahl Sep 2, 2024
2c87a1c
✨ Adjust partial assignment in knockout backend
jonastahl Sep 2, 2024
2810385
🐛 Don't schedule bye games
jonastahl Sep 2, 2024
a78cf98
🐛 Fix ordering of prepare tabs
jonastahl Sep 2, 2024
0978ad1
Merge pull request #30 from SecretJ12/refactor/prepare-state-tracking
jonastahl Sep 4, 2024
1ef7cdd
🐛 Require courts to contains a name and type
jonastahl Sep 4, 2024
e09a3b6
🐛 Only allow available steps
jonastahl Sep 4, 2024
cfd3c79
✨ Scheduling: Jump to begin of game phase
jonastahl Sep 4, 2024
6d663d9
✨ Scheduling: Fix sorting of courts
jonastahl Sep 4, 2024
10676a9
♻️ Scheduling: select begin date by prop
jonastahl Sep 4, 2024
2966bbd
✨ Add endpoint scheduled match by court and time
jonastahl Sep 5, 2024
cc9eeb3
🐛 Fix competition details undefined parameter
jonastahl Sep 6, 2024
d475427
♻️ Send teams directly inside matches
jonastahl Sep 6, 2024
9ee2ef8
✨ Show matches of other competitions
jonastahl Sep 6, 2024
4c989e4
🐛 Fix saving with other comps
jonastahl Sep 6, 2024
8e17e62
💄 Fix alignment of scheduling events
jonastahl Sep 6, 2024
3ccd964
🌐 Internalize scheduling notification
jonastahl Sep 6, 2024
f0778c3
🎨 format file and remove unused import
FungOliver Sep 6, 2024
73b8158
🏷️ I hope 2 billion groups are enough
FungOliver Sep 6, 2024
3266528
Merge pull request #31 from SecretJ12/feature/court-availability-sche…
jonastahl Sep 7, 2024
c2b7933
✨ Add new view for match overview of tournament
jonastahl Sep 10, 2024
5926c16
💄 Adjust css of settings button
jonastahl Sep 10, 2024
735cf1b
♻️ Extract calendar to extra component
jonastahl Sep 11, 2024
7385f5e
💄 Add navigation menu
jonastahl Sep 11, 2024
9669bb3
🐛 Fix viewing of events
jonastahl Sep 11, 2024
85095cf
✨ Show events in overview
jonastahl Sep 11, 2024
ede85e8
💄 Fix box of change cursor in header
jonastahl Sep 11, 2024
7c77d76
✨ Add selector to change between views
jonastahl Sep 11, 2024
f4023bf
🐛 Fix moving of events
jonastahl Sep 12, 2024
44d9cbc
✨ Show matches in list and add filter
jonastahl Sep 12, 2024
e0ffe9d
🌐 Internalization
jonastahl Sep 12, 2024
8c40a10
Merge pull request #35 from SecretJ12/feature/tournament-overview
jonastahl Sep 12, 2024
b9d455a
🐛 Fix group generation
jonastahl Sep 14, 2024
9ecb40e
🐛 Fix group extraction in frontend
jonastahl Sep 15, 2024
f0d1546
🐛 Fix knockout extraction
jonastahl Sep 15, 2024
89e1de4
Merge pull request #37 from SecretJ12/refactor/save-more
jonastahl Sep 16, 2024
a84b42c
🔧 Import PrimeVue components automatically
jonastahl Sep 18, 2024
d45c6c3
➖ Remove material icons, only use symbols
jonastahl Sep 18, 2024
d3c21bc
⚡️ Only import outlined symbols
jonastahl Sep 18, 2024
aed74cf
⚡️ Load routes dynamically to decrease chunks sizes
jonastahl Sep 18, 2024
a08380a
Merge pull request #41 from SecretJ12/refactor/optimize-imports
jonastahl Sep 19, 2024
f9cdddf
✨ Add player overview page
jonastahl Sep 13, 2024
054a928
✨ Load and show player name
jonastahl Sep 16, 2024
c3b72e8
🗃️ Save match numbers to match
jonastahl Sep 16, 2024
fc9ba90
🐛 Fix drag n drop for schedule
jonastahl Sep 16, 2024
121cc17
🚚 Refactor match query api to be more flexible
jonastahl Sep 17, 2024
09b798f
🐛 Save offset of dragging element for correct placement
jonastahl Sep 17, 2024
a20f8e5
✨ Add match view to player overview
jonastahl Sep 17, 2024
927d6e2
✨ Link player names to player overview
jonastahl Sep 17, 2024
99fc8e5
♻️ Adjust calendar view
jonastahl Sep 17, 2024
cbfa28d
♻️ Small improvements everywhere
jonastahl Sep 17, 2024
c142920
✨ Link to competition and tournament
jonastahl Sep 17, 2024
4a068c6
✅ Adjust tests
jonastahl Sep 18, 2024
79a030f
⚡️ Load more lazy decrease query size
jonastahl Sep 19, 2024
7be2fc1
🐛 Show correct end date in overview list
jonastahl Sep 20, 2024
f45fa18
✨ use criteria api for filtering matches instead of stringbuilding
FungOliver Sep 19, 2024
030b25d
🐛 Check params for null
jonastahl Sep 20, 2024
ae9fa08
🎨 ️add type safety
FungOliver Sep 20, 2024
6be1063
🐛 fix return type
FungOliver Sep 21, 2024
292eed3
♻️ Formatter & remove transaction
jonastahl Sep 21, 2024
e01b314
🎨 Format
jonastahl Sep 21, 2024
b430847
Merge pull request #40 from SecretJ12/feature/player-overview
jonastahl Sep 21, 2024
317e3c2
♻️ Do more in knockout and group tools
jonastahl Sep 19, 2024
3d6a736
✅ Add tests for knockout generation
jonastahl Sep 20, 2024
b00dc3f
✅ Add first generation tests for group
jonastahl Sep 20, 2024
8c9e14d
✅ Add changing tests for group
jonastahl Sep 21, 2024
509c34d
🐛 Fix knockout tools
jonastahl Sep 21, 2024
2c791f6
✅ Add first model test
jonastahl Sep 21, 2024
95ac842
✅ Test group deletion for model
jonastahl Sep 23, 2024
9606611
🔥 Delete matches endpoint in tournament
jonastahl Sep 23, 2024
263fcdc
🔥 Delete player register endpoint in competition
jonastahl Sep 23, 2024
857dce3
Merge pull request #45 from SecretJ12/tests/test-match-generation
jonastahl Sep 25, 2024
0362463
👷 Add type check before build
jonastahl Sep 26, 2024
138d4e4
🏷️ Fix typing issues
jonastahl Sep 26, 2024
cc4e155
Merge pull request #50 from SecretJ12/refactor/check-ts
jonastahl Sep 27, 2024
6633ceb
🚧 add scoring update for knockout matches
FungOliver Sep 1, 2024
54689eb
🚧 add saving of points
FungOliver Sep 24, 2024
4ad0720
🚧 first working version
FungOliver Sep 25, 2024
fb4846a
🚧 add scoring update for knockout matches
FungOliver Sep 1, 2024
8ef649d
🚑️ fix groups not being properly displayed, only show pop up when bei…
FungOliver Sep 26, 2024
311ce26
🎨 format code
FungOliver Sep 26, 2024
c6daf5d
✨ only save changed sets
FungOliver Sep 26, 2024
36a41e4
🐛 fix set order being displayed in the wrong order, show popup only w…
FungOliver Sep 30, 2024
b86c4cd
♻️ use common helper in TournamentResource
FungOliver Sep 30, 2024
0668b00
✨ keep same order in group table after reloads
FungOliver Sep 30, 2024
ce1e7a1
♻️ use byte for group index
FungOliver Sep 30, 2024
828b154
🎨 update formatter and format backend
FungOliver Sep 30, 2024
aec3477
♻️ add localization to player overview
FungOliver Sep 30, 2024
c0ef685
⬆️ fix warning unsupported dependencies
FungOliver Sep 30, 2024
45e277c
🎨 format frontend
FungOliver Sep 30, 2024
65600d2
🐛 fix name generation to not contain empty string
FungOliver Sep 30, 2024
9bf4f5a
🐛 move click to set to not conflict with player overview
FungOliver Sep 30, 2024
f21f2a2
🎨 clean up code
FungOliver Sep 30, 2024
73c4912
🐛 fix tests and package name
FungOliver Oct 1, 2024
32a8947
♻️ remove unused typescript directive
FungOliver Oct 1, 2024
1449dd7
🎨 fix tests
FungOliver Oct 1, 2024
76cefd6
✅ Fix tests
jonastahl Oct 1, 2024
c29806b
🎨 fix formatter?
FungOliver Oct 1, 2024
96f9569
🛂 Change report role to reporter
jonastahl Oct 1, 2024
81b99db
💄 Change mouse to pointer when reporting possible
jonastahl Oct 1, 2024
d2ef578
💄 Add empty sets as default
jonastahl Oct 1, 2024
20d52a4
💄 Update selected set for easier reporting
jonastahl Oct 1, 2024
3def8e0
♻️ Delete empty sets
jonastahl Oct 1, 2024
63eb88c
🐛 fix not being able to update set if there is no set yet
FungOliver Oct 1, 2024
6bade17
✨ Add settings page
jonastahl Sep 26, 2024
2bab122
✨ Add courts to settings
jonastahl Sep 26, 2024
df3a2d5
✨ Load language from backend
jonastahl Sep 26, 2024
ac4f9e5
✨ Load title from backend
jonastahl Sep 26, 2024
6e98a59
✨ Save language for every user
jonastahl Sep 26, 2024
5c64e67
✨ Add saving of default language
jonastahl Sep 26, 2024
b134446
✨ Add saving of title
jonastahl Sep 26, 2024
9fa8358
✨ Add team deletion at signup and fix verification
jonastahl Sep 26, 2024
7785e7a
✨ Add admin verification
jonastahl Sep 26, 2024
b1ff3de
✅ Fix tests
jonastahl Sep 26, 2024
2120e41
✅ Add setting to disable admin verification
jonastahl Sep 27, 2024
a9caacf
✨ Add simple user management to settings
jonastahl Sep 29, 2024
353b1d6
🔧 Update keycloak config
jonastahl Sep 29, 2024
dad9a27
♻️ Add paginator for user settings
jonastahl Sep 29, 2024
ab6fe6e
✨ Start player management
jonastahl Sep 30, 2024
742c456
🚚 Rename player sex entities
jonastahl Sep 30, 2024
2d28e40
⚡️ Add pagination for player settings
jonastahl Sep 30, 2024
524bfe6
✅ Fix tests
jonastahl Sep 30, 2024
2373abd
🦺 Validate player registration form
jonastahl Oct 1, 2024
5aadbc6
✨ Add player update endpoint
jonastahl Oct 1, 2024
c9f4461
♻️ Refactor player to prepare for update use
jonastahl Oct 1, 2024
4a10e5f
✨ Add view to update player
jonastahl Oct 1, 2024
9386c0d
✅ Fix tests
jonastahl Oct 1, 2024
85500e5
Merge pull request #55 from SecretJ12/feature/settings
jonastahl Oct 1, 2024
caed450
♻️ move enums to own directory and deduplicate enums
FungOliver Oct 1, 2024
3beb2a9
♻️ move jsonEntities to top level model directory
FungOliver Oct 1, 2024
e696faf
Merge pull request #60 from SecretJ12/feature/EnumRefactor
jonastahl Oct 1, 2024
abae55d
♻️ Allow reporters to report new results
jonastahl Oct 1, 2024
bc66d75
Merge pull request #61 from SecretJ12/refactor/reporter-reporting
jonastahl Oct 1, 2024
d510f60
🐛 Fix internalization bug, remove prints
jonastahl Oct 1, 2024
499ee61
✨ Automatically set teams in next match
jonastahl Oct 1, 2024
45a69f7
♻️ Group system: show results of finished games
jonastahl Oct 2, 2024
539f9c3
🎨 remove duplicate sorting
FungOliver Oct 2, 2024
7409330
Merge pull request #63 from SecretJ12/refactor/update-points
jonastahl Oct 2, 2024
a00f39a
✨ Send and process group results
jonastahl Oct 2, 2024
e1cf891
✨ Show group results
jonastahl Oct 2, 2024
5bd2224
✨ Show knockout of group
jonastahl Oct 2, 2024
d88f514
✨ Adjust scrolling in group and knockout
jonastahl Oct 2, 2024
f804598
🔥 Only show title in header
jonastahl Oct 2, 2024
e65505c
📱 Optimize Header for small devices
jonastahl Oct 2, 2024
91ed0f5
📱 Add sidebar for mobile view
jonastahl Oct 2, 2024
3566df5
Merge pull request #67 from SecretJ12/mobile/adjust-header
jonastahl Oct 3, 2024
26576d7
♻️ use new defineField api
FungOliver Oct 2, 2024
9b27c31
Merge pull request #70 from SecretJ12/refactor/form-api
jonastahl Oct 3, 2024
fe6f331
✨ use spotless for backend formatting
FungOliver Oct 2, 2024
1fd6409
🎨 Change spotless style to old formatter style
jonastahl Oct 3, 2024
f590e16
Merge pull request #72 from SecretJ12/feature/spotless-eclipse
jonastahl Oct 3, 2024
4296ac2
🐛 Fix title size
jonastahl Oct 3, 2024
f9fbda0
🐛 fix success toast being shown for no players selected
FungOliver Oct 2, 2024
759f786
🐛 fix wrong key for text
FungOliver Oct 2, 2024
76e7708
🐛 fix registration not returning any results
FungOliver Oct 3, 2024
de61f8e
🐛 refactor SignUpForm
FungOliver Oct 3, 2024
cd57ce2
♻ format code
FungOliver Oct 3, 2024
2a1dd16
🐛 don't show playerB different if mode is single
FungOliver Oct 3, 2024
087c776
🎨 clean up code
FungOliver Oct 3, 2024
118abe2
🔥 Remove some console logs
jonastahl Oct 3, 2024
bdb71ab
🎨 remove exception signature
FungOliver Oct 3, 2024
a7d4d72
🚚 Move files for quinoa
jonastahl Oct 3, 2024
ea9e0d8
🐛 Fix login
jonastahl Oct 3, 2024
7abbfdf
👷 Update GitHub actions
jonastahl Oct 3, 2024
0094991
🙈 Include package-lock.json
jonastahl Oct 3, 2024
8972870
💚 Automatically set version number
jonastahl Oct 3, 2024
42b9e83
💚 Don't checkout new for docker build
jonastahl Oct 4, 2024
da34741
👷 Update dockerfiles
jonastahl Oct 4, 2024
8128228
🔧 Add docker compose for production keycloak
jonastahl Oct 4, 2024
84caccf
🔧 Add docker compose for turnierplaner
jonastahl Oct 4, 2024
2689d36
🔧 Load auth config from backend
jonastahl Oct 4, 2024
9e1cae0
🔧 Add health checks
jonastahl Oct 4, 2024
07683d2
🔧 Include callback files to build
jonastahl Oct 4, 2024
42c9874
🐛 Fix keycloak hostname issue
jonastahl Oct 4, 2024
d347054
Merge pull request #76 from SecretJ12/refactor/update-architecture
jonastahl Oct 5, 2024
78b8334
🔒️ Adjust some security related stuff
jonastahl Oct 5, 2024
5801afd
✅ Fix tests
jonastahl Oct 5, 2024
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
  •  
  •  
  •  
49 changes: 12 additions & 37 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,63 +12,38 @@ jobs:
name: Validate format of backend
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Set up JDK 22
uses: actions/setup-java@v3
uses: actions/setup-java@v4
with:
java-version: '22'
distribution: 'temurin'
cache: maven
- name: Validate backend format
run: mvn formatter:validate
buildBackend:
name: Build backend
runs-on: ubuntu-latest
needs: formatBackend
steps:
- uses: actions/checkout@v3
- name: Set up JDK 22
uses: actions/setup-java@v3
with:
java-version: '22'
distribution: 'temurin'
cache: maven
- name: Build backend
run: cd backend && mvn package
run: mvn spotless:check

formatFrontend:
name: Validate format of frontend
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Install frontend dependencies
run: cd frontend/app && npm install
run: cd src/main/webui && npm install
- name: Validate frontend linter
run: cd frontend/app && npm run lint:validate
run: cd src/main/webui && npm run lint:validate
- name: Validate frontend prettier
run: cd frontend/app && npm run prettier:validate
buildFrontend:
name: Build frontend
runs-on: ubuntu-latest
needs: formatFrontend
steps:
- uses: actions/checkout@v3
- name: Set up JDK 22
uses: actions/setup-java@v3
with:
java-version: '22'
distribution: 'temurin'
cache: maven
- name: Build frontend
run: cd frontend && mvn package
run: cd src/main/webui && npm run prettier:validate

buildAll:
name: Build whole application
runs-on: ubuntu-latest
needs:
- formatBackend
- formatFrontend
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Set up JDK 22
uses: actions/setup-java@v3
uses: actions/setup-java@v4
with:
java-version: '22'
distribution: 'temurin'
Expand Down
68 changes: 68 additions & 0 deletions .github/workflows/docker.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
name: Build and Push Docker Image

on:
push:
tags:
- 'v*.*.*'


jobs:
build:
runs-on: ubuntu-latest

steps:
- name: Docker meta
id: meta
uses: docker/metadata-action@v5
with:
# list of Docker images to use as base name for tags
images: |
ghcr.io/${{ github.repository }}
# generate Docker tags based on the following events/attributes
tags: |
type=semver,pattern={{version}}
type=semver,pattern={{major}}.{{minor}}
type=semver,pattern={{major}}

- name: Checkout code
uses: actions/checkout@v4

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3

- name: Login to GHCR
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GH_PAT }}

- name: Set up JDK 22
uses: actions/setup-java@v4
with:
java-version: '22'
distribution: 'temurin'
cache: maven

- name: Set versions
run: |
TAG_VERSION=${{ github.ref }}
VERSION=${TAG_VERSION#refs/tags/v}
mvn versions:set -DnewVersion=$VERSION
mvn versions:commit
jq --arg version "$VERSION" '.version= $version' src/main/webui/package.json > tmp.$$.json && mv tmp.$$.json src/main/webui/package.json

- name: Build with Maven
run: mvn package

- name: Build and push
uses: docker/build-push-action@v6
with:
file: ./src/main/docker/Dockerfile.jvm
context: .
cache-from: |
user/app:cache
type=local,src=.
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
10 changes: 6 additions & 4 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -39,9 +39,11 @@ nb-configuration.xml
.env

# Frontend
node_modules/**
package-lock.json
**/node_modules/**
auto-imports.d.ts
components.d.ts
src/main/webui/dist/**

keycloak/**
keycloak-19.0.1/**
backend/.mvn
backend/.mvn
/src/main/webui/node_modules/*
94 changes: 94 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
# Tournament planer

# Tournament Planner

This project is a comprehensive tournament planning application that leverages modern web technologies like Vue3 (in the frontend),
Quarkus (for the backend), Keycloak (for authentication) to provide a seamless user experience.

## Getting Started
This application is a monorepo that contains both the frontend and backend code. The frontend is a Vue3 application that
is located in the `frontend/app` directory, while the backend is a Quarkus application located in the `backend` directory.
The application supports mail sending for verification and reminder mails.

For this create a `.env` file under backend with the following content:
```
MAIL_FROM=${ your mail address }
MAIL_HOST=${ your mail host }
MAIL_USER=${ your mail address }
MAIL_PASS=${ your mail password }
```
For admin verification the application uses keycloak before deploying this application for production you need to
set up the admin username and password. For this create a `.env` file under the folder `keycloak` with the following content:
```env
KEYCLOAK_ADMIN_USER=${ your keycloak admin user }
KEYCLOAK_ADMIN_PASS=${ your keycloak admin password }

KC_DB_USERNAME=${ the username for the keycloak database }
KC_DB_PASSWORD=${ the password for the keycloak database }
```

# Starting the application in development mode
The application can be started in development mode by following the steps below:
## Vue
```shell
mvn compile -DfrontendDev -DnoFrontendComp
```

```shell
cd frontend/app
npm install
```

For compilation and hot reload
```shell
npm run dev
```

## Quarkus
The Quarkus application starts in development mode also a keycloak container, which is used for user authentication:
```shell
cd backend
mvn compile quarkus:dev -DbackendDev
```

## Build Quarkus+Vue
To build the whole application:
```shell
mvn package
```

Don't compile frontend
```shell
mvn package -DnoFrontendComp
```
Don't compile backend
```shell
mvn package -DnoBackendComp
```

## Clean
```shell
mvn clean
```

# Starting the application in production mode
First start the keycloak service by running the following command in the `keycloak` directory:
```shell
docker compose up
```
Then you need to import the Quarkus realm under:
- Realm settings in the menu.
- Point to the Action menu in the top right corner of the realm settings screen, and select Partial import.
- A prompt then appears where you can select the file you want to import.
Based on this file, you see the resources you can import along with the realm settings.
- Click Import.

After that you can start the Quarkus application by running the following command in the `backend` directory:
```shell
./mvnw install
java -jar target/quarkus-app/quarkus-run.jar
```

Finally, start the Vue application by running the following command in the `frontend/app` directory:
TBD

49 changes: 0 additions & 49 deletions Readme.md

This file was deleted.

5 changes: 0 additions & 5 deletions backend/.dockerignore

This file was deleted.

60 changes: 0 additions & 60 deletions backend/README.md

This file was deleted.

Loading