docs: update README for Casino Gaming Platform details
This commit is contained in:
parent
efef0aad42
commit
9fbb339261
1 changed files with 143 additions and 24 deletions
167
README.md
167
README.md
|
@ -1,34 +1,153 @@
|
||||||
# How to: Semantic Commit Messages
|
# Casino Gaming Platform
|
||||||
|
|
||||||
See how a minor change to your commit message style can make you a better programmer.
|
An online gaming platform offering various casino-style games with virtual currency support. This project features a modern tech stack with Angular frontend, Spring Boot backend, and complete user authentication.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
## Features
|
||||||
|
|
||||||
|
- Multiple casino games: Poker, Blackjack, Slots, Plinko, Liars Dice, and Lootboxes
|
||||||
|
- User authentication and account management via Keycloak
|
||||||
|
- Virtual currency deposit system using Stripe payments
|
||||||
|
- Transaction history tracking
|
||||||
|
- Responsive modern UI built with Angular and TailwindCSS
|
||||||
|
|
||||||
|
## Tech Stack
|
||||||
|
|
||||||
|
### Frontend
|
||||||
|
- Angular 18
|
||||||
|
- TailwindCSS
|
||||||
|
- Keycloak integration
|
||||||
|
- Stripe payment integration
|
||||||
|
|
||||||
|
### Backend
|
||||||
|
- Spring Boot (Java)
|
||||||
|
- PostgreSQL database
|
||||||
|
- Keycloak for authentication/authorization
|
||||||
|
- Stripe API for payment processing
|
||||||
|
|
||||||
|
### Infrastructure
|
||||||
|
- Docker containerization for all services
|
||||||
|
|
||||||
|
## Getting Started
|
||||||
|
|
||||||
|
### Prerequisites
|
||||||
|
* [Docker](https://docs.docker.com/get-docker/)
|
||||||
|
* [Docker Compose](https://docs.docker.com/compose/install/) (included with Docker Desktop for Windows and Mac)
|
||||||
|
* Java JDK 17+
|
||||||
|
* Node.js 18+
|
||||||
|
|
||||||
|
### Setting Up the Environment
|
||||||
|
|
||||||
|
1. Clone the repository
|
||||||
|
```bash
|
||||||
|
git clone <repository-url>
|
||||||
|
cd casino
|
||||||
|
```
|
||||||
|
|
||||||
|
2. Start the Docker services
|
||||||
|
```bash
|
||||||
|
cd docker
|
||||||
|
docker-compose up -d
|
||||||
|
```
|
||||||
|
|
||||||
|
This will start:
|
||||||
|
- PostgreSQL database
|
||||||
|
- Keycloak authentication server
|
||||||
|
|
||||||
|
### Running the Backend
|
||||||
|
|
||||||
|
1. Navigate to the backend directory
|
||||||
|
```bash
|
||||||
|
cd backend
|
||||||
|
```
|
||||||
|
|
||||||
|
2. Start the Spring Boot application
|
||||||
|
```bash
|
||||||
|
./gradlew bootRun
|
||||||
|
```
|
||||||
|
|
||||||
|
The backend will be available at:
|
||||||
|
- API endpoint: http://localhost:8080
|
||||||
|
- Swagger documentation: http://localhost:8080/swagger
|
||||||
|
|
||||||
|
### Running the Frontend
|
||||||
|
|
||||||
|
1. Navigate to the frontend directory
|
||||||
|
```bash
|
||||||
|
cd frontend
|
||||||
|
```
|
||||||
|
|
||||||
|
2. Install dependencies
|
||||||
|
```bash
|
||||||
|
npm install
|
||||||
|
```
|
||||||
|
|
||||||
|
3. Start the development server
|
||||||
|
```bash
|
||||||
|
npm run dev
|
||||||
|
```
|
||||||
|
|
||||||
|
The frontend will be available at http://localhost:4200
|
||||||
|
|
||||||
|
## Database Management
|
||||||
|
|
||||||
|
### Postgres Management
|
||||||
|
|
||||||
|
#### Database cleanup (if needed)
|
||||||
|
```bash
|
||||||
|
cd docker
|
||||||
|
docker-compose down
|
||||||
|
docker volume rm local_lf8_starter_postgres_data
|
||||||
|
docker-compose up -d
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Setting up IntelliJ Database View
|
||||||
|
1. Run the Docker container with PostgreSQL database
|
||||||
|
2. Open `application.properties` in the resources folder and copy the database URL
|
||||||
|
3. Open the Database tab in IntelliJ
|
||||||
|
4. Click on the database icon with key in the Database toolbar
|
||||||
|
5. Click the plus sign and select "Datasource from URL"
|
||||||
|
6. Paste the DB URL and select PostgreSQL driver, confirm with OK
|
||||||
|
7. Enter username `lf8_starter` and password `secret`
|
||||||
|
8. In the Schemas tab, uncheck all options and only check `lf8_starter_db` and `public`
|
||||||
|
|
||||||
|
## Authentication
|
||||||
|
|
||||||
|
The application uses Keycloak for authentication. To get a bearer token for API testing:
|
||||||
|
|
||||||
|
1. Open `requests/getBearerToken.http`
|
||||||
|
2. Click the green arrow next to the request
|
||||||
|
3. Copy the `access_token` from the response
|
||||||
|
|
||||||
|
## Development Guidelines
|
||||||
|
|
||||||
|
### Commit Message Format
|
||||||
|
|
||||||
|
We follow semantic commit messages to maintain clear project history.
|
||||||
|
|
||||||
Format: `<type>(<scope>): <subject>`
|
Format: `<type>(<scope>): <subject>`
|
||||||
|
|
||||||
`<scope>` is optional
|
Where `<type>` is one of:
|
||||||
|
- `feat`: New feature
|
||||||
## Example
|
- `fix`: Bug fix
|
||||||
|
- `docs`: Documentation changes
|
||||||
|
- `style`: Formatting, missing semicolons, etc; no code change
|
||||||
|
- `refactor`: Code refactoring
|
||||||
|
- `test`: Adding or refactoring tests
|
||||||
|
- `chore`: Updating build tasks, etc; no production code change
|
||||||
|
|
||||||
|
Examples:
|
||||||
```
|
```
|
||||||
feat: add hat wobble
|
feat: add user balance display
|
||||||
^--^ ^------------^
|
fix(auth): resolve token expiration issue
|
||||||
| |
|
docs: update API documentation
|
||||||
| +-> Summary in present tense.
|
|
||||||
|
|
|
||||||
+-------> Type: chore, docs, feat, fix, refactor, style, or test.
|
|
||||||
```
|
```
|
||||||
|
|
||||||
More Examples:
|
|
||||||
|
|
||||||
- `feat`: (new feature for the user, not a new feature for build script)
|
|
||||||
- `fix`: (bug fix for the user, not a fix to a build script)
|
|
||||||
- `docs`: (changes to the documentation)
|
|
||||||
- `style`: (formatting, missing semi colons, etc; no production code change)
|
|
||||||
- `refactor`: (refactoring production code, eg. renaming a variable)
|
|
||||||
- `test`: (adding missing tests, refactoring tests; no production code change)
|
|
||||||
- `chore`: (updating grunt tasks etc; no production code change)
|
|
||||||
|
|
||||||
References:
|
References:
|
||||||
|
- [Conventional Commits](https://www.conventionalcommits.org/)
|
||||||
|
- [Semantic Commit Messages](https://seesparkbox.com/foundry/semantic_commit_messages)
|
||||||
|
|
||||||
- https://www.conventionalcommits.org/
|
## License
|
||||||
- https://seesparkbox.com/foundry/semantic_commit_messages
|
|
||||||
- http://karma-runner.github.io/1.0/dev/git-commit-msg.html
|
[License information here]
|
Loading…
Add table
Reference in a new issue