Compare commits

...

8 commits

Author SHA1 Message Date
202c5fb93f
Merge pull request 'chore: Renovate angular 20' (!276) from renovate/combine-some into main
All checks were successful
Release / Release (push) Successful in 1m1s
Release / Build Backend Image (push) Successful in 24s
Release / Build Frontend Image (push) Successful in 29s
Reviewed-on: #276
2025-06-04 06:45:05 +00:00
3acd131b20 chore: Update README.md
All checks were successful
CI / Get Changed Files (pull_request) Successful in 8s
Pull Request Labeler / labeler (pull_request_target) Successful in 5s
CI / Backend Tests (pull_request) Has been skipped
CI / Checkstyle Main (pull_request) Has been skipped
Label PRs based on size / Check PR size (pull_request) Successful in 11s
CI / Docker backend validation (pull_request) Has been skipped
Claude PR Review / claude-code (pull_request) Successful in 23s
CI / oxlint (pull_request) Successful in 18s
CI / Docker frontend validation (pull_request) Successful in 17s
CI / eslint (pull_request) Successful in 24s
CI / prettier (pull_request) Successful in 29s
CI / test-build (pull_request) Successful in 36s
2025-06-04 08:41:24 +02:00
52c61c5b18 fix: Replace zone detection with the new one
All checks were successful
CI / Get Changed Files (pull_request) Successful in 7s
CI / Backend Tests (pull_request) Has been skipped
CI / Checkstyle Main (pull_request) Has been skipped
Pull Request Labeler / labeler (pull_request_target) Successful in 7s
CI / Docker backend validation (pull_request) Has been skipped
Label PRs based on size / Check PR size (pull_request) Successful in 13s
Claude PR Review / claude-code (pull_request) Successful in 26s
CI / oxlint (pull_request) Successful in 25s
CI / prettier (pull_request) Successful in 30s
CI / eslint (pull_request) Successful in 34s
CI / Docker frontend validation (pull_request) Successful in 39s
CI / test-build (pull_request) Successful in 47s
2025-06-04 08:38:19 +02:00
b66d39cbac chore: Recreate lock file and do angular update
Some checks failed
CI / Get Changed Files (pull_request) Successful in 8s
CI / Backend Tests (pull_request) Has been skipped
CI / Checkstyle Main (pull_request) Has been skipped
Pull Request Labeler / labeler (pull_request_target) Successful in 8s
CI / Docker backend validation (pull_request) Has been skipped
Label PRs based on size / Check PR size (pull_request) Successful in 15s
Claude PR Review / claude-code (pull_request) Successful in 27s
CI / oxlint (pull_request) Successful in 23s
CI / eslint (pull_request) Successful in 31s
CI / prettier (pull_request) Successful in 30s
CI / Docker frontend validation (pull_request) Failing after 41s
CI / test-build (pull_request) Failing after 44s
2025-06-04 08:35:55 +02:00
16b052c0f3 chore: Combine some renovate pr's
Some checks failed
CI / Get Changed Files (pull_request) Successful in 12s
CI / Backend Tests (pull_request) Has been skipped
Label PRs based on size / Check PR size (pull_request) Successful in 12s
CI / Checkstyle Main (pull_request) Has been skipped
CI / Docker backend validation (pull_request) Has been skipped
Pull Request Labeler / labeler (pull_request_target) Successful in 17s
Claude PR Review / claude-code (pull_request) Successful in 49s
CI / prettier (pull_request) Successful in 53s
CI / oxlint (pull_request) Successful in 1m7s
CI / eslint (pull_request) Successful in 1m10s
CI / test-build (pull_request) Failing after 1m8s
CI / Docker frontend validation (pull_request) Failing after 1m18s
2025-06-04 08:30:26 +02:00
d68e907061
fix(deps): update dependencies (major and minor)
Some checks failed
CI / Get Changed Files (pull_request) Successful in 19s
Pull Request Labeler / labeler (pull_request_target) Successful in 9s
Label PRs based on size / Check PR size (pull_request) Successful in 19s
Claude PR Review / claude-code (pull_request) Successful in 42s
CI / eslint (pull_request) Successful in 1m1s
CI / oxlint (pull_request) Successful in 42s
CI / prettier (pull_request) Successful in 57s
CI / test-build (pull_request) Failing after 52s
CI / Backend Tests (pull_request) Has been skipped
CI / Checkstyle Main (pull_request) Has been skipped
CI / Docker backend validation (pull_request) Has been skipped
CI / Docker frontend validation (pull_request) Failing after 23s
2025-06-03 08:47:30 +00:00
fb41de95b8
chore(deps): update dependency @angular/compiler-cli to v20
Some checks failed
CI / Get Changed Files (pull_request) Successful in 17s
Pull Request Labeler / labeler (pull_request_target) Successful in 9s
Label PRs based on size / Check PR size (pull_request) Successful in 18s
Claude PR Review / claude-code (pull_request) Successful in 31s
CI / eslint (pull_request) Successful in 46s
CI / oxlint (pull_request) Successful in 31s
CI / prettier (pull_request) Successful in 44s
CI / test-build (pull_request) Failing after 1m1s
CI / Backend Tests (pull_request) Has been skipped
CI / Checkstyle Main (pull_request) Has been skipped
CI / Docker backend validation (pull_request) Has been skipped
CI / Docker frontend validation (pull_request) Failing after 32s
2025-06-03 08:47:23 +00:00
02f87c177d
chore(deps): update angular-cli monorepo to v20
Some checks failed
CI / Get Changed Files (pull_request) Successful in 11s
Pull Request Labeler / labeler (pull_request_target) Successful in 6s
Label PRs based on size / Check PR size (pull_request) Successful in 16s
Claude PR Review / claude-code (pull_request) Successful in 29s
CI / oxlint (pull_request) Successful in 41s
CI / eslint (pull_request) Successful in 49s
CI / prettier (pull_request) Successful in 42s
CI / test-build (pull_request) Failing after 46s
CI / Backend Tests (pull_request) Has been skipped
CI / Checkstyle Main (pull_request) Has been skipped
CI / Docker frontend validation (pull_request) Failing after 1m5s
CI / Docker backend validation (pull_request) Has been skipped
2025-06-03 08:47:17 +00:00
4 changed files with 522 additions and 414 deletions

View file

@ -15,96 +15,113 @@ Please refer to our [Style Guide](https://git.kjan.de/SZUT/casino/wiki/Frontend#
## Tech Stack ## Tech Stack
### Frontend ### Frontend
- Angular 19
- Angular 20
- TailwindCSS - TailwindCSS
- Keycloak integration - Keycloak integration
- Stripe payment integration - Stripe payment integration
### Backend ### Backend
- Spring Boot (Java) - Spring Boot (Java)
- PostgreSQL database - PostgreSQL database
- Keycloak for authentication/authorization - Keycloak for authentication/authorization
- Stripe API for payment processing - Stripe API for payment processing
### Infrastructure ### Infrastructure
- Docker containerization for all services - Docker containerization for all services
## Getting Started ## Getting Started
### Prerequisites ### Prerequisites
* [Docker](https://docs.docker.com/get-docker/)
* [Docker Compose](https://docs.docker.com/compose/install/) (included with Docker Desktop for Windows and Mac) - [Docker](https://docs.docker.com/get-docker/)
* Java JDK 17+ - [Docker Compose](https://docs.docker.com/compose/install/) (included with Docker Desktop for Windows and Mac)
* Node.js 18+ - Java JDK 17+
- Node.js 18+
### Setting Up the Environment ### Setting Up the Environment
1. Clone the repository 1. Clone the repository
```bash ```bash
git clone <repository-url> git clone <repository-url>
cd casino cd casino
``` ```
2. Start the Docker services 2. Start the Docker services
```bash ```bash
cd docker cd docker
docker-compose up -d docker-compose up -d
``` ```
This will start: This will start:
- PostgreSQL database - PostgreSQL database
- Keycloak authentication server - Keycloak authentication server
### Running the Backend ### Running the Backend
1. Navigate to the backend directory 1. Navigate to the backend directory
```bash ```bash
cd backend cd backend
``` ```
2. Start the Spring Boot application 2. Start the Spring Boot application
```bash ```bash
./gradlew bootRun ./gradlew bootRun
``` ```
You may optionally install [watchexec](https://github.com/watchexec/watchexec?tab=readme-ov-file) and use this command to autorecompile the backend on file changes: You may optionally install [watchexec](https://github.com/watchexec/watchexec?tab=readme-ov-file) and use this command to autorecompile the backend on file changes:
```bash ```bash
watchexec -r -e java ./gradlew :bootRun watchexec -r -e java ./gradlew :bootRun
``` ```
The backend will be available at: The backend will be available at:
- API endpoint: http://localhost:8080
- Swagger documentation: http://localhost:8080/swagger - API endpoint: <http://localhost:8080>
- Swagger documentation: <http://localhost:8080/swagger>
### Running the Frontend ### Running the Frontend
1. Navigate to the frontend directory 1. Navigate to the frontend directory
```bash ```bash
cd frontend cd frontend
``` ```
2. Install dependencies 2. Install dependencies
```bash ```bash
npm install npm install
``` ```
3. Start the development server 3. Start the development server
```bash ```bash
npm run dev npm run dev
``` ```
The frontend will be available at http://localhost:4200 The frontend will be available at <http://localhost:4200>
### Local Stripe integration ### Local Stripe integration
1. Install the Stripe CLI 1. Install the Stripe CLI
https://stripe.com/docs/stripe-cli <https://stripe.com/docs/stripe-cli>
2. Login to the casino stripe account 2. Login to the casino stripe account
``` ```
stripe login --api-key <casino-stripe-secret-key> stripe login --api-key <casino-stripe-secret-key>
``` ```
3. Start webhook forwarding 3. Start webhook forwarding
``` ```
stripe listen --forward-to localhost:8080/webhook stripe listen --forward-to localhost:8080/webhook
``` ```
@ -114,6 +131,7 @@ stripe listen --forward-to localhost:8080/webhook
### Postgres Management ### Postgres Management
#### Database cleanup (if needed) #### Database cleanup (if needed)
```bash ```bash
cd docker cd docker
docker-compose down docker-compose down
@ -122,6 +140,7 @@ docker-compose up -d
``` ```
#### Setting up IntelliJ Database View #### Setting up IntelliJ Database View
1. Run the Docker container with PostgreSQL database 1. Run the Docker container with PostgreSQL database
2. Open `application.properties` in the resources folder and copy the database URL 2. Open `application.properties` in the resources folder and copy the database URL
3. Open the Database tab in IntelliJ 3. Open the Database tab in IntelliJ
@ -148,6 +167,7 @@ We follow semantic commit messages to maintain clear project history.
Format: `<type>(<scope>): <subject>` Format: `<type>(<scope>): <subject>`
Where `<type>` is one of: Where `<type>` is one of:
- `feat`: New feature - `feat`: New feature
- `fix`: Bug fix - `fix`: Bug fix
- `docs`: Documentation changes - `docs`: Documentation changes
@ -157,6 +177,7 @@ Where `<type>` is one of:
- `chore`: Updating build tasks, etc; no production code change - `chore`: Updating build tasks, etc; no production code change
Examples: Examples:
``` ```
feat: add user balance display feat: add user balance display
fix(auth): resolve token expiration issue fix(auth): resolve token expiration issue
@ -164,6 +185,7 @@ docs: update API documentation
``` ```
References: References:
- [Conventional Commits](https://www.conventionalcommits.org/) - [Conventional Commits](https://www.conventionalcommits.org/)
- [Semantic Commit Messages](https://seesparkbox.com/foundry/semantic_commit_messages) - [Semantic Commit Messages](https://seesparkbox.com/foundry/semantic_commit_messages)

File diff suppressed because it is too large Load diff

View file

@ -14,16 +14,16 @@
}, },
"private": true, "private": true,
"dependencies": { "dependencies": {
"@angular/animations": "^19.0.0", "@angular/animations": "^20.0.0",
"@angular/cdk": "~19.2.0", "@angular/cdk": "~20.0.0",
"@angular/common": "^19.0.0", "@angular/common": "^20.0.0",
"@angular/compiler": "^19.2.4", "@angular/compiler": "^20.0.0",
"@angular/core": "^19.0.0", "@angular/core": "^20.0.0",
"@angular/forms": "^19.0.0", "@angular/forms": "^20.0.0",
"@angular/platform-browser": "^19.0.0", "@angular/platform-browser": "^20.0.0",
"@angular/platform-browser-dynamic": "^19.0.0", "@angular/platform-browser-dynamic": "^20.0.0",
"@angular/router": "^19.0.0", "@angular/router": "^20.0.0",
"@fortawesome/angular-fontawesome": "^1.0.0", "@fortawesome/angular-fontawesome": "^2.0.0",
"@fortawesome/fontawesome-svg-core": "^6.7.2", "@fortawesome/fontawesome-svg-core": "^6.7.2",
"@fortawesome/free-brands-svg-icons": "^6.7.2", "@fortawesome/free-brands-svg-icons": "^6.7.2",
"@fortawesome/free-solid-svg-icons": "^6.7.2", "@fortawesome/free-solid-svg-icons": "^6.7.2",
@ -39,9 +39,9 @@
"tslib": "^2.3.0" "tslib": "^2.3.0"
}, },
"devDependencies": { "devDependencies": {
"@angular-devkit/build-angular": "^19.0.0", "@angular/compiler-cli": "^20.0.0",
"@angular/cli": "^19.2.5", "@angular-devkit/build-angular": "^20.0.0",
"@angular/compiler-cli": "^19.0.0", "@angular/cli": "^20.0.0",
"@types/jasmine": "~5.1.0", "@types/jasmine": "~5.1.0",
"angular-eslint": "19.7.1", "angular-eslint": "19.7.1",
"eslint": "^9.25.1", "eslint": "^9.25.1",

View file

@ -1,4 +1,4 @@
import { ApplicationConfig, provideExperimentalZonelessChangeDetection } from '@angular/core'; import { ApplicationConfig, provideZonelessChangeDetection } from '@angular/core';
import { provideRouter } from '@angular/router'; import { provideRouter } from '@angular/router';
import { FontAwesomeModule } from '@fortawesome/angular-fontawesome'; import { FontAwesomeModule } from '@fortawesome/angular-fontawesome';
@ -12,7 +12,7 @@ export const appConfig: ApplicationConfig = {
provideRouter(routes), provideRouter(routes),
FontAwesomeModule, FontAwesomeModule,
provideHttpClient(withInterceptors([httpInterceptor])), provideHttpClient(withInterceptors([httpInterceptor])),
provideExperimentalZonelessChangeDetection(), provideZonelessChangeDetection(),
provideAnimationsAsync(), provideAnimationsAsync(),
], ],
}; };