Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/berkanaslan/sandbox
🖥 This is a playground used for many different implementations and RPCs, such as Keycloak, Docker, GraalVM, Spring AI and so on.
https://github.com/berkanaslan/sandbox
angular docker-compose keycloak spring-boot spring-security
Last synced: 10 days ago
JSON representation
🖥 This is a playground used for many different implementations and RPCs, such as Keycloak, Docker, GraalVM, Spring AI and so on.
- Host: GitHub
- URL: https://github.com/berkanaslan/sandbox
- Owner: berkanaslan
- Created: 2024-12-28T15:32:47.000Z (27 days ago)
- Default Branch: main
- Last Pushed: 2025-01-12T18:09:04.000Z (12 days ago)
- Last Synced: 2025-01-12T19:22:47.612Z (12 days ago)
- Topics: angular, docker-compose, keycloak, spring-boot, spring-security
- Language: TypeScript
- Homepage:
- Size: 165 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Sandbox Project
## Overview
Sandbox is a comprehensive playground project designed to explore and demonstrate various modern software development technologies and architectural patterns. This project serves as a practical implementation showcase, incorporating multiple components and frameworks.## Purpose
This sandbox environment provides developers with a hands-on experience to:
- Experiment with different technologies in a controlled setting
- Understand integration patterns between various components
- Learn best practices for modern application development
- Test new features and implementations safely## Technologies
- Spring Boot
- Spring Modulith
- Angular
- Docker
- Keycloak
- PostgreSQL
- Will be added more technologies in the future.### Key Features
- **Keycloak Integration**: Implementation of secure authentication and authorization
- **Spring Modulith**: Demonstration of modular monolithic architecture
- **API Implementation**: RESTful API endpoints with comprehensive documentation
- **Various Technology Implementations**: Showcase of different technical solutions and best practices### Requirements
- Java 23
- Node v20
- Angular CLI v18
- Docker v27.1.1### Docker
Run the docker compose file to start PostgreSQL and Keycloak. Import sandbox realm from the scripts/keycloak/sandbox-realm.json file if it is not imported by Docker.GitHub OAuth app is used in this project for identity provider testing. You need to create a client in GitHub developer settings and set the client id and client secret in the sandbox-realm.json file.
Find `{{your-client-id}}` and `{{your-client-secret}}` in the sandbox-realm.json file and replace them with your GitHub client id and client secret.```sh
docker exec -it keycloak-sandbox /opt/keycloak/bin/kc.sh import --file /opt/keycloak/data/import/sandbox-realm.json
```Delete `.realm_imported` file in the `keycloak` folder if you want to re-import the realm.
### Run the client
Run the client with the following command:```
ng serve
```### Run the server
Run the server with the following command:```
./mvnw spring-boot:run
```