Git Product home page Git Product logo

rooming's Introduction

ROOMING (Room Booking)

Aplikasi booking ruangan sederhana

Pertama user membuat form, form otomatis akan berstatus PENDING. Lalu admin bisa menyetujui atau menolak permintaan booking user. Admin juga bisa membatalkan penyetujuan maupun penolakan booking.

Form booking dibuat untuk booking 1 hari.

Ada 7 status booking, di antaranya PENDING, DISETUJUI, DIGUNAKAN, DITOLAK, BATAL, SELESAI, dan EXPIRED.

Penjelasan Status Booking

Berikut ini ialah penjelasan status booking yang dibuat oleh User. Otomatisasi perubahan status booking dilakukan dengan Laravel Scheduler.

  1. PENDING. Ketika User baru mengajukan permintaan booking.
  2. DISETUJUI. Ketika Admin menyetujui permintaan booking User. Aksi ini bisa dibatalkan dengan mengklik Batalkan di data booking User
  3. DIGUNAKAN. Ketika User tengah menggunakan ruangan, dilihat berdasarkan tanggal, waktu mulai dan waktu selesai booking User.
  4. DITOLAK. Ketika Admin menolak permintaan booking User. Aksi ini bisa dibatalkan dengan mengklik Setujui di data booking User.
  5. BATAL. Ketika User membatalkan permintaan booking. Aksi ini tidak bisa dibatalkan
  6. SELESAI. Ketika waktu booking selesai, dilihat berdasarkan tanggal, waktu mulai dan waktu selesai booking User.
  7. EXPIRED. Ketika permintaan booking User dibiarkan PENDING sampai melewati waktu mulai booking.

Note: ROOMING menggunakan waktu Jakarta / Waktu Indonesia Barat. Jika ingin mengganti waktu yang digunakan, ganti nilai APP_TIMEZONE di .env

Tech Stack

  • Laravel 8
  • Bootstrap 4 lain-lain:
  • Yajra Datatables
  • Stisla Admin Theme

Instalasi

  • Clone atau Download
  • Masuk ke folder ROOMING ini
  • Copy .env.example ke .env (Jika tidak ada .env silakan buat di root folder)
  • Sesuaikan konfigurasi .env seperti username dan password database dengan milikmu
  • Jalankan php artisan key:generate untuk generate APP_KEY di .env
  • Buat database MySQL dengan nama db_rooming
  • Jalankan di terminal composer install
  • Jalankan di terminal php artisan migrate --seed
  • Buat Cron Job (Linux) atau Task Scheduler (Windows) untuk menjalankan perintah schedule Laravel karena ROOMING menggunakan Laravel Scheduler.

Menjalankan Laravel Scheduler di Linux (Ubuntu)

  • Ketik crontab -e atau sudo crontab -e di terminal
  • Sistem akan membuatkan sebuah file jika ini adalah kali pertama
  • Masukkan perintah * * * * * cd /path/ke/projekmu && php artisan schedule:run >> /dev/null 2>&1
  • Ganti /path/ke/projekmu dengan path projek ROOMING kamu
  • Tekan Ctrl+x lalu tekan y dan enter
  • Untuk melihat cronjob akun User yang saat ini dipakai ketik crontab -l atau sudo crontab -l

Jalankan Aplikasi

php artisan serve

Jalankan Queues

Queues digunakan untuk pengiriman email notifikasi pembuatan, pembatalan, penyetujuan, dan penolakan request booking.

php artisan queue:work

User

User
Username: user
Password: user

Admin
Username: admin
Password: admin

Lisensi

ROOMING menggunakan lisensi MIT

Demo

Youtube

Misc

Aplikasi ini memanfaatkan Blade Component dengan teknik reusable component. Form input hanya 1, tapi dipanggil di setiap fitur tambah data. Input field juga ada 1 tapi dipanggil berkali-kali di setiap fitur tambah data. Lumayan untuk belajar blade component.

by: fajarwz

Visit my Web
Visit my Medium
Get Connected
Let's be friends

rooming's People

Contributors

fajarwz avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.