Skip to content
 
 

Repository files navigation

Reservation System Development Environment 🚀

Docker Docker Compose Status License

This development environment configures all the services needed to work on the cloud resource reservation system, including:

  • 🖥️ React Frontend (reservation-fe)
  • 🔌 Backend (reservation-be)
  • 🔑 Keycloak for authentication
  • 🗄️ PostgreSQL for databases

Requirements ⚙️

  • 🐳 Docker
  • 🔄 Docker Compose

Project Structure 📂

project-root/
├── docker-compose.yml           # Docker Compose configuration
├── init-multiple-postgres-dbs.sh # Database initialization script
├── keycloak/
│   └── import/
│       └── resource-management-realm.json # Keycloak realm configuration
├── reservation-fe/              # Frontend source code
└── reservation-be/              # Backend source code

Getting Started 🚦

Setup Instructions 📝

  1. Make sure the reservation-fe and reservation-be folders contain the respective source code

  2. Make the database initialization script executable:

    chmod +x init-multiple-postgres-dbs.sh
  3. Modify your hosts file to redirect "backend" and "keycloak" to your local machine:

    • For Linux/macOS:

      sudo nano /etc/hosts

      Add these lines:

      127.0.0.1 backend
      127.0.0.1 keycloak
      

      Save the file (Ctrl+O, then Enter) and exit (Ctrl+X)

    • For Windows:

      • Open Notepad as Administrator
      • Open the file C:\Windows\System32\drivers\etc\hosts
      • Add these lines:
        127.0.0.1 backend
        127.0.0.1 keycloak
        
      • Save the file
  4. Start the development environment:

    docker-compose up -d
  5. The services will be available at the following addresses:

After starting the containers with Docker Compose and ensuring all services are running properly, you can access the application using a bootstrap admin account:

Demo Access 🌟

A demo version of the application is available at:

Access Credentials 🔐

Keycloak Admin Console

Default Users

  1. Administrator:

Configuration ⚙️

The frontend is configured to automatically connect to the backend and Keycloak with the following settings:

Kubernetes Deployment with Helm ☸️

A Helm chart is available for deploying this application on Kubernetes. You can find the chart and instructions in the following repository:

Troubleshooting ⚠️

Permission errors

If you encounter permission errors when starting the containers:

sudo chown -R $USER:$USER reservation-fe reservation-be keycloak
chmod -R 755 reservation-fe reservation-be keycloak

Cleaning the environment

To stop and remove all containers, networks, and volumes:

docker-compose down -v

About

Full-stack system for managing and booking cloud resources. Offers a booking calendar, resource/user management, notifications, and a dashboard. Based on Java/Spring Boot, React/Material UI, PostgreSQL, Keycloak. Includes an asynchronous event processor and support for Docker/Kubernetes/Helm.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages