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

This commit is contained in:
Jan K9f 2025-06-04 08:41:22 +02:00
commit 3acd131b20

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)