Lisensi MIT
Ini adalah sistem reservasi makan menggunakan skrip Google Apps.

Script Google Apps adalah salah satu alat otomatisasi yang kuat untuk mencapai proses otomatisasi. Ketika skrip Google Apps dapat digunakan untuk situasi tersebut, bahkan ketika pengguna jauh dari komputer mereka, otomatisasi dapat berlanjut berkat komputasi awan. Juga, skrip Google Apps dapat mengelola spreadsheet Google dengan layanan spreadsheet Google dan dengan cepat menggunakan aplikasi web dengan HTML dan JavaScript dengan pengkodean minimal. Ref1 Ref2 Ketika Google Spreadsheet digunakan sebagai database dan aplikasi web digunakan sebagai antarmuka pengguna, berbagai aplikasi web dapat dibuat. Dalam laporan ini, untuk membantu memahami aspek -aspek utama dari membangun aplikasi web dengan skrip Google Apps, saya ingin memperkenalkan aplikasi web sederhana. Di sini, sebagai sampel, sistem reservasi makan yang dibuat oleh skrip Google Apps, HTML, dan JavaScript diimplementasikan sebagai aplikasi web.
Aplikasi web ini adalah sistem reservasi makan. Kondisi dasar sistem ini adalah sebagai berikut.

Di sini, saya ingin menunjukkan kepada Anda demonstrasi aplikasi web ini. Dalam demonstrasi ini, jumlah maksimum kursi adalah 50. Waktu makan rata -rata adalah 2 jam. Waktu langkahnya adalah 30 menit. Dalam kondisi ini, aliran berikut dijalankan.
Dalam demonstrasi ini, hari ini adalah 22 Januari 2024. Jadi, hari pertama kalender ini adalah 23 Januari 2024.
Ketika aliran ini dilakukan, lembar "Data" di Google Spreadsheet adalah sebagai berikut. Anda dapat melihat bahwa 2 reservasi disimpan.

Di bagian selanjutnya, saya ingin memperkenalkan penggunaan aplikasi ini.
Untuk menginstal aplikasi ini, saya membuat skrip untuk cukup menyalin skrip asli. Untuk menyalin skrip untuk mengimplementasikan sistem reservasi ini, silakan jalankan skrip berikut.
Harap salin dan tempel skrip berikut ke editor skrip skrip Google Apps. Tentu saja, Anda juga dapat secara langsung menyalin dan menempelkan skrip dan HTML ini dari repositori ini.
function myFunction ( ) {
const fileIds = [
"1NpxFPiuANcbRrnPTRSUgwjNaprB98cqz6KQUBl_IZLYK-Fhq8skZP0XB" ,
"1JrAE1-MqD7OjOWKbSGI5EDwJVXVl4zIK"
] ;
fileIds . forEach ( id => {
const file = DriveApp . getFileById ( id ) ;
file . makeCopy ( file . getName ( ) ) ;
} ) ;
} Saat myFunction ini dijalankan, Anda dapat 2 file berikut di folder root.
ReservationApp .sample_html.html . ReservationApp Skrip Mandiri adalah skrip dasar termasuk skrip Google Apps dan HTML. Ketika Anda ingin menggunakan aplikasi ini di sisi Google, Anda dapat melakukannya hanya menggunakan file ini. File teks sample_html.html digunakan di luar google. Ketika Anda ingin meletakkan aplikasi web ini dari sisi Google (misalnya, Anda ingin meletakkannya di server Anda.), sample_html.html digunakan. Pada saat itu, Anda diharuskan menggunakan ReservationApp dan sample_html.html .
Tentu saja, Anda dapat langsung mengunduh skrip asli di repositori ini.
Informasi terperinci dapat dilihat dalam dokumen resmi.
Harap atur ini menggunakan editor skrip ReservationApp .
https://script.google.com/macros/s/###/exec .Saat Anda memodifikasi skrip Google Apps dari aplikasi web, silakan modifikasi penyebaran sebagai versi baru. Dengan ini, skrip yang dimodifikasi tercermin dalam aplikasi web. Harap berhati -hati tentang ini.
Anda dapat melihat detailnya dalam laporan saya "Redeploying Web Apps tanpa mengubah URL aplikasi web untuk IDE baru".
Saat Anda ingin menggunakan aplikasi ini di sisi Google, silakan gunakan ini.
Harap akses URL aplikasi web Anda dari https://script.google.com/macros/s/###/exec dengan browser Anda. Dengan ini, skrip dijalankan.
Saat Anda menjalankan skrip untuk pertama kalinya, Google Spreadsheet ReservationApp_database baru termasuk 3 lembar dashboard , data , dan archive dibuat di folder root. Spreadsheet ini digunakan sebagai dasbor, database, dan arsip untuk data lama. Bahkan ketika Anda memindahkan spreadsheet ini ke folder tertentu, skrip berfungsi.
Kemudian, Anda dapat melihat kalender dengan judul "halaman reservasi" di browser Anda. Ini dibuat oleh nilai sampel awal dalam lembar dasbor pada spreadsheet. Anda dapat melihat detailnya di lembar dasbor.
Setelah Anda melihat kalender, Anda dapat memesan kursi dengan mengklik kalender. Ini juga dapat dilihat dalam demonstrasi di atas.
Ketika Anda ingin menggunakan aplikasi ini di luar sisi Google, misalnya, ketika Anda ingin menggunakan aplikasi ini di server Anda, silakan gunakan ini.
Dalam hal ini, pertama, buka file teks termasuk data HTML dengan editor teks. Dan, harap atur URL aplikasi web Anda ke url di JavaScript.
Setelah aplikasi web Anda diatur, silakan akses HTML dengan browser Anda. Dengan ini, skrip dijalankan.
Saat Anda menjalankan skrip untuk pertama kalinya, Google Spreadsheet ReservationApp_database baru termasuk 3 lembar dashboard , data , dan archive dibuat di folder root. Spreadsheet ini digunakan sebagai dasbor, database, dan arsip untuk data lama. Bahkan ketika Anda memindahkan spreadsheet ini ke folder tertentu, skrip berfungsi.
Kemudian, Anda dapat melihat kalender dengan judul "halaman reservasi" di browser Anda. Ini dibuat oleh nilai sampel awal dalam lembar dasbor pada spreadsheet. Anda dapat melihat detailnya di lembar dasbor.
Setelah Anda melihat kalender, Anda dapat memesan kursi dengan mengklik kalender. Ini juga dapat dilihat dalam demonstrasi di atas.
Aplikasi web ini dapat dikelola oleh lembar dasbor di spreadsheet ReservationApp_database . Harap buka lembar dasbor di spreadsheet ReservationApp_database . Anda dapat melihat 3 kolom "variabel", "nilai", dan "deskripsi". Anda dapat melihat detail setiap nilai dalam "deskripsi" kolom "C". Nilai awal kolom "B" adalah nilai sampel untuk pengujian. Jadi, harap modifikasi nilai -nilai itu dengan situasi Anda yang sebenarnya.
Ketika Anda melihat lembar data, ketika Anda sudah memesannya sebagai tes, Anda dapat melihat data. Dalam aplikasi ini, ketika skrip dijalankan dengan mengakses aplikasi web, data lama sebelum hari ini dipindahkan ke lembar arsip. Dan, misalnya, ketika Anda mengubah data, data yang diperbarui tercermin dalam HTML ketika HTML dibuka. Harap berhati -hati tentang ini.
Aplikasi ini dapat mengatur liburan temporal. Dalam hal ini, harap masukkan secara manual di lembar data. Misalnya, ketika hari ini adalah 1 Januari 2024, dan Anda ingin menetapkan 2 Januari hingga 5 Desember 2024, sebagai hari libur temporal, harap masukkan nilai -nilai 2024/01/02 , 2024/01/05 secara manual, dan temporaryHoliday ke kolom "F" ke "h" ("start", "", "," status "), masing -masing. Setelah ini, ketika Anda membuka aplikasi web, Anda dapat melihat liburan temporal dari 2 Januari hingga 5 Januari 2024 di kalender.
Mungkin ada kasus di mana Anda diharuskan untuk mengatur hari dan waktu yang dipesan. Misalnya, ketika hari ini adalah 1 Januari 2024, dan Anda ingin ditetapkan dari pukul 12:00 hingga 17:00 pada 6 Januari 2024, sebagai hari dan waktu yang dipesan, silakan masukkan nilai -nilai 2024/01/06 12:00:00 , 2024/01/06 17:00:00 ",", " reservedDayTime ", "", "", "", "", "", "", "", "", "", "" "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "", "" "", "" "," "", "" "," "", "" "," "", "" "," "" "," "" "", "" "," "", "" "," "", "" "," "", "" "," "", "" "," " Setelah ini, ketika Anda membuka aplikasi web, Anda dapat melihat hari dan waktu yang dipesan dari 2024/01/06 12:00:00 hingga 2024/01/06 17:00:00 di kalender.
Tentang pembatalan reservasi, ketika Anda meletakkan "batal" di kolom "status" lembar "data", baris ini dilewati ketika kalender ditampilkan. Dengan ini, Anda dapat membatalkan reservasi saat baris data disimpan. Pada tahap saat ini, seharusnya pembatalan dapat dilakukan di sisi pemilik. Jadi, ketika pengguna ingin membatalkan reservasi, harap beri tahu pengguna untuk mengirim email untuk membatalkannya. Pesan ini dapat diatur dalam "PerjanjianForreservasi" lembar "dasbor".
Harap hapus kunci dan nilai spreadsheetId dari properti skrip di editor skrip ReservationApp . Dengan ini, ketika Anda mengakses aplikasi web lagi, spreadsheet baru dibuat di folder root. Dalam hal ini, spreadsheet lama tidak dihapus.
Aplikasi web ini adalah skrip sederhana. Jadi, Anda dapat dengan bebas memodifikasi skrip skrip yang Anda salin. Jadi, ketika Anda ingin menambahkan dan/atau memodifikasi skrip, silakan lakukan menggunakan skrip yang disalin.
Aplikasi web ini menggunakan aplikasi web yang dibuat oleh skrip Google Apps. Pada tahap saat ini, jumlah maksimum akses bersamaan ke aplikasi web adalah 30. REF Jadi, dalam situasi Anda yang sebenarnya, jika ada kemungkinan bahwa banyak pengguna di atas 30 pengguna mengakses secara bersamaan, aplikasi ini mungkin tidak cocok. Harap berhati -hati tentang ini.
Dalam aplikasi ini, terutama ada 2 fungsi doGet dan putValues .
doGet doGet digunakan untuk mengakses aplikasi web dari skrip Google Apps dan bagian luar Google. Pergantian antara di dalam dan di luar Google dilakukan dengan menggunakan parameter kueri. Ketika Anda langsung mengakses URL aplikasi web menggunakan browser Anda, kelas htmlservice.htmloutput dikembalikan. Dengan ini, Anda dapat melihat kalender di browser. Di sisi lain, ketika Anda mengakses sample_html.html menggunakan browser Anda, data kalender diunduh dengan meminta dengan API fetch di sample_html.html . Dengan ini, Anda dapat melihat kalender di browser.
putValues putValues digunakan untuk menyimpan data dari sisi HTML. Fungsi ini berjalan di bawah LockService dengan mengandaikan akses bersamaan. Ketika reservasi dijalankan pada HTML dengan mengklik tombol kirim, data reservasi dikirim ke sisi skrip Google Apps dengan google.script.run untuk "di dalam" dan API fetch untuk "di luar". Di Google Apps Script, ketika data yang dikirim tidak diduplikasi, data dimasukkan ke dalam lembar "data" dan email berikut dikirim ke pengguna dan pemilik.
--- Reservation information ---
Date: 2024-01-01 10:00 to 2024-01-01 12:00
Reserved seats: 2
Name: sample1
Email: sample1@###
Phone: '123
Comment: sample comment
Mit
Tanaike
Menyumbangkan
v1.0.0 (22 Januari 2024)
ATAS