Restoran Little4
Sistem Pemesanan Restoran TEAM4
Periksa di situs web
(Jika server web dimatikan, koneksi tidak akan dibuat.)
Departemen AI dan Teknik Komputer Universitas Kyonggi
Profesor Kihyun Kwon 2021-1 Rekayasa Perangkat Lunak Artikel 4
Pengembang Tim4
- Song Seong-ho (201713866)
github@ssh10032
- Joohyun Yoon (201713919)
github@gabrielyon7
- Kim Woo-jung (201912039)
github@Kimwoojung11
- Choi Ye-seul (201912149)
github@yeseul9231
- Subin Heo (201912161)
github@heo5620
Sejarah
- 2021.06.06
- [Joohyun Yoon] Membuat bagian dari kelas TEST, memperbaiki bug daftar tunggu yang ditemukan
- [Heo Soo-bin] Peningkatan desain
- [Choi Ye-seul] Modifikasi desain
- [Kim Woo-joong] Bug modifikasi reservasi diperbaiki, kelas TEST selesai
- 2021.06.05
- [Song Seong-ho] Modifikasi fungsi penghapusan penyelesaian reservasi
- [Heo Soo-bin] Modifikasi desain
- [Choi Ye-seul] Modifikasi desain
- [Kim Woo-joong] Memperbaiki bug pada fungsi terkait jadwal
- [Joohyun Yoon] Memecahkan masalah tidak dapat memeriksa catatan kedatangan di CustomerManager
- 2021.06.04
- [Woojoong Kim] Menambahkan fungsi poin
- [Joohyun Yoon] Menambahkan fungsi pemeriksaan statistik mingguan, pendaftaran keanggotaan duplikat terbatas, memperbaiki bug terkait
- 03.06.2021
- [Heo Soo-bin] Peningkatan desain, penambahan pedoman
- [Song Seong-ho] Tabel DAO, tambahkan DTO, hapus tabel, terapkan fungsi tambahan
- [Joohyun Yoon] Menambahkan fungsi kedatangan, menambahkan input suhu, menghubungkan fungsi terkait meja, dan menambahkan pertanyaan kuesioner COVID-19 (manajemen toko)
- 2021.06.02
- [Kim Woo-jung] Ubah daftar tunggu menjadi modal, tambahkan fungsi walk-in, edit reservasi, dan hapus
- [Song Seong-ho] CovidLogDTO, DAO menambahkan bidang input suhu tubuh jendela Modal ditambahkan
- [Joohyun Yoon] Menghubungkan DB ke statistik (penjualan harian), memperbaiki kesalahan tabel, menyelesaikan kesalahan tanggal yang terjadi saat menghubungkan ke server
- 2021.06.01
- [Kim Woo-jung] Tambahkan tabel daftar tunggu dan terapkan fungsi tabel
- [Choi Ye-seul] Edit bilah menu, draf halaman statistik
- [Heo Soo-bin] Peningkatan desain, pembuatan tata letak halaman statistik
- [Joohyun Yoon] Ubah modal untuk merespons ketika mengklik isi tabel jadwal
- 31.05.2021
- [Kim Woo-joong] Fungsi tambahan DB Daftar Tunggu
- 30.05.2021
- [Joohyun Yoon] Menghubungkan berbagai informasi ke userReservationInfo
- 29.05.2021
- [Heo Soo-bin] Peningkatan desain dan peningkatan tata letak UserReservationInfo
- [Joohyun Yoon] Memperbaiki koneksi DB dan bug permintaan reservasi di halaman userManager
- 28.05.2021
- [Choi Ye-seul] Menambahkan DB minuman, meningkatkan klasifikasi halaman saat memesan
- [Heo Soo-bin] Edit header untuk tamu, tambahkan tata letak halaman pertanyaan reservasi
- [Kim Woo-jung] Menambahkan output data WalkIn dan WalkIn, fungsi pencegahan duplikasi reservasi
- [Joohyun Yoon] Bug tabel bootstrap telah diperbaiki sepenuhnya, menambahkan fungsi penugasan otomatis tabel reservasi
- 27.05.2021
- [Heo Soo-bin] Peningkatan notifikasi peringatan
- [Kim Woo-jung] Output tabel halaman CustomerManager
- [Joohyun Yoon] Mengaktifkan tombol tampilan menu (implementasi pencetakan satu halaman informasi menu), menambahkan fungsi pencetakan berdasarkan jenis menu, menambahkan fungsi jadwal pencetakan berdasarkan tanggal
- 26.05.2021
- [Song Seong-ho] Edit tanggal lewat metode ReservationDAO addReservation
- [Joohyun Yoon] Perbaikan bug BootstrapTable dan aktivasi fungsi
- 25.05.2021
- [Heo Soo-bin] Merombak total berbagai desain
- [Kim Woo-jung] Penerapan tombol walkIn di halaman CustomerManager
- 23.05.2021
- [Choi Ye-seul] Tautkan modal ke halaman WalkIn, tautkan gambar ke halaman Pengepakan
- [Joohyun Yoon] Perbaikan bug dan tata letak modal, fungsi terkait permintaan reservasi membatasi akses untuk pengguna yang tidak masuk
- 22/05/2021
- [Kim Woo-joong] Berhasil menyelesaikan dan menghubungkan tata letak untuk menerima daftar permintaan dari CustomerManager
- [Joohyun Yoon] Peningkatan tata letak sehingga tabel jadwal secara otomatis digambar di CustomerManager, memperbaiki kesalahan terkait ReservationRequest
- [Song Seong-ho] Mengimplementasikan fungsi (completeReservationRequest) yang mengirimkan data permintaan reservasi dari jsp ke Ajaxaction, menambahkan kasus pernyataan reservasiRequest ke AjaxAction
- 21.05.21.2021
- [Joohyun Yoon] Menambahkan kemampuan untuk menyampaikan informasi dan menampilkan informasi login ke Reservasi
- [Song Seong-ho] Ubah tabel DB ReservationRequest (hapus table_id, waktu kedatangan, tambahkan pesan, ubah tata letak info reservasi
- [Choi Ye-seul] Edit info reservasi
- 20.05.20.2021
- [Semua] Nama proyek diubah menjadi Restoran Little4
- [Song Seong-ho] Menambahkan ReservationDTO, menambahkan metode ReservationDAO untuk mengirim data reservasi pelanggan ke DB (addReservationRequest), menambahkan permintaan reservasi pelanggan DB (ReservationRequest) TABLE
- 2021.05.19
- [Kim Woo-joong] Pembuatan halaman manajemen tabel
- 2021.05.16
- [Heo Soo-bin] Menu DB dan perombakan gambar
- [Joohyun Yoon] Menambahkan kemampuan untuk melewati tanggal di halaman reservasi, menerapkan beberapa fungsi klik (perlu perbaikan)
- [Kim Woo-joong] Produksi halaman penyelesaian pembayaran dan halaman manajemen pengambilan (termasuk tautan DB)
- 2021.05.15
- [Choi Ye-seul] Menambahkan tata letak halaman pertanyaan jadwal
- [Joohyun Yoon] Menghubungkan gambar ke layar menu
- 2021.05.14
- [Kim Woo-joong] Membuat halaman penyelesaian pembayaran
- [Heo Soo-bin] Membuat footer yang berpindah dari halaman Pengemasan ke Keranjang, membuat halaman pemesanan/pembayaran, memperbaiki bilah bawah, dan mengedit postingan atas
- [Choi Ye-seul] Tata letak halaman reservasi dan layar penyelesaian reservasi ditambahkan
- [Joohyun Yoon] Menambahkan fungsi keranjang belanja di Pengepakan (implementasi total output dari layar pembayaran dengan meneruskan DB), membuat proses meneruskan DB dari keranjang belanja ke layar penyelesaian pembayaran, menambahkan halaman kesalahan dan logika untuk mencegah kesalahan
- 2021.05.13
- [Song Seong-ho] Integrasi halaman reservasi
- [Kim Woo-joong] Menghubungkan halaman Pengepakan dan Keranjang
- 2021.05.12
- [Choi Ye-seul] Pembuatan halaman merek
- [Semua] Pembuatan halaman menu dan tautan DB / Peningkatan beberapa struktur DB / Penambahan fungsi manajemen daftar hitam
- 2021.05.11
- [Joohyun Yoon] Setelah membangun lingkungan dengan ubuntu20.04 LTS, Tomcat9.0, mariaDB, dan openJDK14 di PC server, pengunggahan server selesai. (Untuk digunakan selama periode presentasi dan evaluasi)
- 2021.05.10
- [Joohyun Yoon] Menambahkan fungsi pendaftaran keanggotaan / Menambahkan halaman dan fungsi administrator
- 2021.05.08
- [Choi Ye-seul] Peningkatan desain header/Penambahan footer/Penambahan penggeser gambar
- [Joohyun Yoon] Menambahkan fungsi logout/Memperkenalkan bootstrap
- 2021.05.07
- [Joohyun Yoon] Menambahkan fungsi login/menambahkan tabel Pengguna, membuat header sementara
- 2021.05.06
- [Song Seong-ho] Pembaruan struktur DB sesuai dengan hasil pertemuan
- 2021.05.05
- [Semua] Ubah dari Spring ke JSP
- [Joohyun Yoon] Bangun proyek JSP dengan Java ee dan Tomcat, masukkan struktur dasar, draf README
Aturan pengembangan Proyek
- Tarik dulu saat menggunakan Github
- Tuliskan komentar dan komit pesan dengan hati-hati
- Tuliskan nama variabel sedetail mungkin.
- Tangani variabel sebanyak mungkin
- Jika Anda tidak tahu atau mengalami kebuntuan, diskusikan
- Tertarik dan berpartisipasi di luar bidang Anda
- Coba modifikasi terlebih dahulu (jika tidak berhasil bisa menggunakan fungsi Rollback)
Apa lagi yang bisa terjadi?
Struktur Proyek
Video analisis struktur proyek
https://drive.google.com/file/d/1lWJpXaAh7shmv10t9AoQUbhHaI2ocUy0/view?usp=sharing
.ide
Pengaturan terkait IntelliJ
Karena lingkungan setiap komputer berbeda, sering kali hal ini diperbaiki secara otomatis. Jika memungkinkan, jangan push ke github.
lib
Ini adalah folder yang berisi perpustakaan eksternal (*.jar) yang digunakan dalam proyek Java. Untuk menggunakan kelas tertentu, diperlukan perpustakaan yang sesuai, dan jika ditambahkan, perpustakaan tersebut harus didaftarkan pada kompiler.
keluar
Ini adalah folder eksklusif IntelliJ yang dapat dieksekusi yang dibuat selama kompilasi. Ini diinisialisasi setiap kali Anda menjalankan server. Mungkin saja kesalahan tersebut terjadi di komputer lain. Saat kompilasi, semua file dikirim ke folder keluar dan akan beroperasi dari folder ini.
Jangan pernah mengirim ke Github. Kesalahan mungkin saja terjadi.
src
Bertanggung jawab atas server web. Ditulis dalam bahasa Jawa.
- com.se.team4
- aplikasi
Paket ini dirancang untuk diterapkan dalam struktur yang semirip mungkin dengan program sistem buku yang diberikan oleh profesor.
domain
Ini adalah bagian Pengendali. Biasanya, Pengendali diminta dari JSP, dan DAO dipanggil darinya.
Bagian yang meminta Pengendali disebutkan lagi di WEB-INF.
//domain 코드 예시
public class TestAction implements Action {
@ Override
public String execute ( HttpServletRequest request , HttpServletResponse response ) throws Exception {
Gson gson = new Gson ();
request . setAttribute ( "getSomething" , gson . toJson ( TestDAO . getInstance (). getSomething ( 1 )));
return "RequestDispatcher:test.jsp" ;
}
}
- utama
Ini adalah Pengontrol yang terkait dengan beranda utama.
ketekunan
Ini adalah bagian Model. Berisi kelas untuk berkomunikasi dengan MariaDB.
- D.A.O.
Ini adalah kelas yang secara langsung menulis pernyataan kueri.
Saya rasa saya perlu memikirkan apakah akan mengirim kueri ke kelas Database seperti file yang diberikan profesor kepada saya.
>() {
}.getType());
return result;
}
}">
//DAO클래스 예시
public class TestDAO {
public static TestDAO it ;
public static TestDAO getInstance () { //인스턴스 생성
if ( it == null )
it = new TestDAO ();
return it ;
}
//테스트 메소드
public ArrayList < TestDTO > getSomething ( int num ) {
ArrayList < TestDTO > result = null ;
List < Map < String , Object >> list = null ;
Connection conn = Config . getInstance (). sqlLogin ();
try {
QueryRunner queryRunner = new QueryRunner ();
list = queryRunner . query ( conn , "SELECT * FROM customer WHERE oid=?" , new MapListHandler (), num );
} catch ( SQLException e ) {
e . printStackTrace ();
} finally {
DbUtils . closeQuietly ( conn );
}
Gson gson = new Gson ();
result = gson . fromJson ( gson . toJson ( list ), new TypeToken < List < TestDTO >>() {
}. getType ());
return result ;
}
}
- DTO
Ini adalah kelas untuk memuat DB yang diterima dari mariaDB ke dalam kelas Java.
Lebih mudah untuk berpikir bahwa ada satu DTO per tabel DB.
public class TestDTO {
private String oid ;
private String name ;
private String phoneNumber ;
public String getOid () { return oid ;}
public void setOid ( String oid ) { this . oid = oid ;}
public String getName () { return name ;}
public void setName ( String name ) { this . name = name ;}
public String getPhoneNumber () { return phoneNumber ; }
public void setPhoneNumber ( String phoneNumber ) { this . phoneNumber = phoneNumber ;}
}
- umum
Ini adalah kelas-kelas yang membentuk kerangka proyek ini. Tolong jangan pernah mengeditnya.
Saat melakukan perubahan, pastikan untuk menyampaikan alasan revisi tersebut.
- pengontrol
- menyaring
- indeks
- sql
web
Bertanggung jawab atas Tampilan. Ditulis dalam JSP.
- css
Ini adalah folder yang berisi CSS untuk digunakan di JSP. (Bootstrap 5.0 disertakan)
- js
Ini adalah folder yang berisi js untuk digunakan di JSP (Bootstrap 5.0, termasuk JQuery)
- WEB-INF
jsp
JSP meminta kelas domain dalam format *.do.
Jalur dalam format *.do dapat ditemukan di booksys.properties.
DB yang ditentukan di kelas domain sebelumnya diterima, diproses menjadi JS, dan kemudian dimasukkan ke dalam HTML.
//앞선 설정으로 setAttribute 된 자바 변수를 JSP에서 받는 예시 (JQuery와 JSP문법을 사용하여 데이터를 가공한 후, id에 넘겨서 삽입함.)
< script >
$ ( document ) . ready ( function ( ) {
makeinfo1 ( ) ;
} )
function makeinfo1 ( ) {
var data = < %= getSomething % > ;
var list = $('#testDataPrinter');
var text = '';
text+= ' < div > '+'oid : '+data[0].oid+'/ name : '+data[0].name+'/ phoneNumber : '+data[0].phoneNumber+' div > ';
list.append(text);
}
script >
- umum
Kami telah mengumpulkan JSP yang umum digunakan. contohnya) header, footer
- halaman
Kumpulan berbagai halaman dasar.
lib
Saya menemukan ini saat membuat proyek, tapi saya tidak tahu apa itu.
Cara Menerapkan
- Bagaimana cara menginstal IntelliJ
https://leirbag.tistory.com/50
- Bagaimana cara menginstal Tomcat
Lihat bagian 1 dari https://leirbag.tistory.com/52
- Bagaimana cara menginstal mariaDB
https://leirbag.tistory.com/46
- Bagaimana cara menerapkan db
https://leirbag.tistory.com/47
- Ketika kesalahan db terjadi di kompiler
https://leirbag.tistory.com/48
- Cara menginstal klon dan proyek
https://leirbag.tistory.com/56
Peralatan
- IntelliJ 2021.1
- Tomcat 9.0.45
- JSP
- MariaDB (lupa versi)
- DBUtil
- Jawa EE
- tali sepatu
- JQuery
- Ajax
Referensi
- Buat proyek JSP dengan IntelliJ
https://velog.io/@ruddms936/IntelliJ%EB%A1%9C-JSP-%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8-%EC%83 %9D%EC%84%B1
- Sejarah *.do
https://withthisclue.tistory.com/entry/JSP-%EC%9B%B9%ED%8E%98%EC%9D%B4%EC%A7%80%EC%97%90%EC% 84%9C-%EA%B6%81%EA%B8%88%ED%96%88%EB%8D%98-lakukan-%ED%8C%8C%EC%9D%BC%EC%9D%98- %EC%9D%98%EB%AF%B8
- Kelas aksi
https://m.blog.naver.com/PostView.nhn?blogId=eroicaplus&logNo=90029919122&proxyReferer=http:%2F%2F210.217.72.119%2F
- Servlet
https://themach.tistory.com/68
- Perbandingan antara Servlet dan JSP
https://m.blog.naver.com/acornedu/221128616501