Skip to content

Blaxzter/room-booking-tool

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📅 BookiTool

Docker Repository available Frontend Docker Image Version Docker Pulls Docker Image Size (latest by date) Quality Gate Status Maintainability Rating

"Buy Me A Coffee"

Booki Tool Dashboard Image

🔎 View can view an app overview on the github pages. (https://blaxzter.github.io/room-booking-tool/)

📚 About

BookiTool is a room booking tool that allows users to book rooms, manage bookings, and receive notifications. It is built with Directus, a headless CMS, Vue.js with shadcn-vue for components, and Tailwind CSS for styling.
The tool is designed to be easy to use and customizable, with features like email verification, anonymous access, and Telegram notifications.

You can try out the tool by visiting the bookitool.net website which runs in the demo mode.

🛠️ Features

  • Room Booking: Users can book rooms for specific dates and times.
  • Booking Management: Admins can view and manage all bookings.
  • User Authentication: Users can create accounts and log in.
  • Notifications: Users can receive notifications via email or Telegram.
  • Demo Mode: Prohibits file upload, limits object / booking creations and allows users to request a upgrade.

🚧 Missing Features

  • Email Verification for booking requests
  • Multiple bookings for the same room at the same time
  • Password reset functionality for users

🚀 Installation

Quick Start

The fastest way to get started is using our installation script:

curl https://raw.githubusercontent.com/Blaxzter/room-booking-tool/refs/heads/main/setup.sh | bash

⚠️ Security Note: Always review scripts before running them with bash! While convenient, piping curl directly to bash can be dangerous.

What the Setup Script Does

  1. Downloads required configuration files (docker-compose.yml, config.env, .env)
  2. Starts Docker containers
  3. Initializes Directus with the correct schema
  4. Configures system settings
  5. Sets up proper user roles

Optional: Telegram Bot Setup

To enable Telegram notifications:

  1. Get a Telegram bot token from @BotFather
  2. Run the setup script again with your token:
    ./setup.sh
  3. Choose 'y' when prompted about Telegram setup
  4. Enter your bot token

Manual Installation

If you prefer to set everything up manually:

  1. Clone the repository:

    git clone https://github.com/Blaxzter/room-booking-tool.git
    cd room-booking-tool
  2. Copy configuration files cp .env.example .env

    1. Edit the .env file and config file to configure your settings.
  3. Start the containers:

    docker-compose up -d
  4. Initialize Directus schema:

    docker-compose exec directus npx directus-sync push \
      -u http://localhost:8055 \
      -e [email protected] \
      -p yourpassword

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published