Restaurante Little4
Sistema de reservas de restaurantes de TEAM4
Consultar en el sitio web
(Si se apaga el servidor web, no se establecerá la conexión).
Departamento de IA e Ingeniería Informática de la Universidad de Kyonggi
Profesor Kihyun Kwon 2021-1 Ingeniería de software Artículo 4
Desarrolladores de Team4
- Canción Seong-ho (201713866)
github@ssh10032
- Joohyun Yoon (201713919)
github@gabrielyoon7
- Kim Woo-jung (201912039)
github@Kimwoojung11
- Choi Ye Seul (201912149)
github@yeseul9231
- Subin Heo (201912161)
github@heo5620
Historia
- 2021.06.06
- [Joohyun Yoon] Creó parte de la clase TEST, se corrigió el error en la lista de espera descubierto
- [Heo Soo-bin] Mejora del diseño
- [Choi Ye-seul] Modificación del diseño
- [Kim Woo-joong] Error de modificación de reserva solucionado, clase de PRUEBA completada
- 2021.06.05
- [Song Seong-ho] Modificación de la función de eliminación de finalización de reserva
- [Heo Soo-bin] Modificación del diseño
- [Choi Ye-seul] Modificación del diseño
- [Kim Woo-joong] Corrige errores en funciones relacionadas con la programación
- [Joohyun Yoon] Resolvió el problema de no poder verificar los registros de llegada en el administrador de clientes.
- 2021.06.04
- [Woojoong Kim] Función de punto agregada
- [Joohyun Yoon] Se agregó la función de verificación de estadísticas semanales, registro de membresía duplicado limitado, errores relacionados corregidos
- 2021.06.03
- [Heo Soo-bin] Diseño mejorado, pautas agregadas
- [Song Seong-ho] Tabla DAO, agregar DTO, eliminar tabla, implementar funciones adicionales
- [Joohyun Yoon] Se agregó función de llegada, entrada de temperatura agregada, funciones vinculadas relacionadas con la mesa y consulta de cuestionario COVID-19 agregada (administración de tienda)
- 2021.06.02
- [Kim Woo-jung] Convertir la lista de espera en modal, agregar funciones de entrada, edición de reserva y eliminación
- [Song Seong-ho] CovidLogDTO, DAO agregado Se agregó el campo de entrada de temperatura corporal de la ventana modal
- [Joohyun Yoon] Vincular base de datos con estadísticas (ventas diarias), mejorar errores de tabla, resolver errores de fecha que ocurren al vincular servidores
- 2021.06.01
- [Kim Woo-jung] Agregar tabla de lista de espera e implementar la función de tabla
- [Choi Ye-seul] Editar barra de menú, borrador de página de estadísticas
- [Heo Soo-bin] Mejora del diseño, creación de diseño de página de estadísticas
- [Joohyun Yoon] Cambia el modal para responder al hacer clic en el contenido de la tabla de programación.
- 2021.05.31
- [Kim Woo-joong] Función adicional de la base de datos de lista de espera
- 2021.05.30
- [Joohyun Yoon] Conectando diversa información a userReservationInfo
- 2021.05.29
- [Heo Soo-bin] Diseño mejorado y diseño mejorado de userReservationInfo
- [Joohyun Yoon] Errores de solicitud de reserva y conexión de base de datos completamente arreglados en la página del Administrador de usuarios
- 2021.05.28
- [Choi Ye-seul] Se agregó base de datos de bebidas, clasificación de página mejorada al realizar pedidos
- [Heo Soo-bin] Editar encabezado para invitados, agregar diseño de página de consulta de reserva
- [Kim Woo-jung] Se agregó salida de datos WalkIn y WalkIn, función de prevención de duplicación de reservas
- [Joohyun Yoon] Errores de la tabla de arranque completamente corregidos, función de asignación automática de la tabla de reserva agregada
- 2021.05.27
- [Heo Soo-bin] Notificaciones de advertencia mejoradas
- [Kim Woo-jung] Salida de la tabla de páginas de CustomerManager
- [Joohyun Yoon] Active el botón de vista de menú (implementación de imprimir una sola página de información del menú), agregue la función de impresión por tipo de menú, agregue la función de impresión programada por fecha
- 2021.05.26
- [Song Seong-ho] Editar Fecha de paso del método addReservation de ReservationDAO
- [Joohyun Yoon] Corrección de errores de BootstrapTable y activación de funciones
- 2021.05.25
- [Heo Soo-bin] Varios diseños completamente renovados
- [Kim Woo-jung] Implementación del botón WalkIn en la página CustomerManager
- 2021.05.23
- [Choi Ye-seul] Enlace modal a la página WalkIn, enlace imagen a la página Embalaje
- [Joohyun Yoon] Las correcciones de errores modales y el diseño, las funciones relacionadas con la solicitud de reserva restringen el acceso a usuarios que no han iniciado sesión
- 2021.05.22
- [Kim Woo-joong] Diseño completado y conectado con éxito para recibir la lista de solicitudes del administrador del cliente
- [Joohyun Yoon] Diseño mejorado para que la tabla de programación se dibuje automáticamente en el administrador de clientes, se corrigieron errores relacionados con ReservationRequest
- [Song Seong-ho] Implementó una función (completeReservationRequest) que envía datos de solicitud de reserva desde jsp a Ajaxaction, agregó el caso de declaración de caso reserveRequest a AjaxAction
- 2021.05.21
- [Joohyun Yoon] Se agregó la capacidad de pasar información y mostrar información de inicio de sesión en Reservas.
- [Song Seong-ho] Modificar la tabla ReservationRequest DB (eliminar table_id, ArrivalTime, agregar mensaje, modificar el diseño de la información de reserva)
- [Choi Ye-seul] Editar información de reserva
- 2021.05.20
- [Todos] El nombre del proyecto cambió a Little4 Restaurant
- [Song Seong-ho] Se agregó ReservationDTO, se agregó el método ReservationDAO para enviar datos de reserva del cliente a la base de datos (addReservationRequest), se agregó la solicitud de reserva del cliente de la base de datos (ReservationRequest) TABLA
- 2021.05.19
- [Kim Woo-joong] Creación de página de gestión de tablas
- 2021.05.16
- [Heo Soo-bin] Menú DB y revisión de imágenes
- [Joohyun Yoon] Se agregó la capacidad de omitir fechas en la página de reserva, se implementaron algunas funciones de clic (necesita mejorar)
- [Kim Woo-joong] Producción de la página de finalización de pagos y la página de gestión de retiro (incluido el enlace a la base de datos)
- 2021.05.15
- [Choi Ye-seul] Se agregó un diseño de página de consulta de horarios
- [Joohyun Yoon] Vinculando imágenes a la pantalla del menú
- 2021.05.14
- [Kim Woo-joong] Creando una página de finalización de pago
- [Heo Soo-bin] Crear un pie de página que se mueva desde la página Embalaje a la cesta, crear una página de pedido/pago, arreglar la barra inferior y editar la publicación superior
- [Choi Ye-seul] Se agregó el diseño de la página de reserva y la pantalla de finalización de la reserva
- [Joohyun Yoon] Se agregó la función de carrito de compras en Packing (implementación de la salida total desde la pantalla de pago al pasar la base de datos), se creó el proceso de pasar la base de datos desde el carrito de compras a la pantalla de finalización del pago, se agregó una página de error y lógica para evitar errores.
- 2021.05.13
- [Song Seong-ho] Integración de la página de reservas
- [Kim Woo-joong] Vinculación de páginas de embalaje y cesta
- 2021.05.12
- [Choi Ye-seul] Creación de página de marca
- [Todos] Creación de páginas de menú y vinculación de bases de datos / Mejora de algunas estructuras de bases de datos / Adición de función de gestión de listas negras
- 2021.05.11
- [Joohyun Yoon] Después de crear un entorno con ubuntu20.04 LTS, Tomcat9.0, mariaDB y openJDK14 en la PC del servidor, se completó la carga del servidor. (Para ser utilizado durante el período de presentación y evaluación)
- 2021.05.10
- [Joohyun Yoon] Función de registro de membresía agregada / Página y funciones de administrador agregadas
- 2021.05.08
- [Choi Ye-seul] Diseño de encabezado mejorado/pie de página agregado/control deslizante de imagen agregado
- [Joohyun Yoon] Se agregó la función de cierre de sesión/Se introdujo el bootstrap
- 2021.05.07
- [Joohyun Yoon] Función de inicio de sesión agregada/tabla de usuario agregada, encabezado temporal creado
- 2021.05.06
- [Song Seong-ho] Actualización de la estructura de la base de datos según los resultados de la reunión
- 2021.05.05
- [Todos] Cambiar de Spring a JSP
- [Joohyun Yoon] Cree un proyecto JSP con Java ee y Tomcat, ingrese la estructura básica, borrador README
Reglas de desarrollo del proyecto.
- Tire primero cuando use Github
- Escriba comentarios y confirme mensajes con cuidado.
- Escriba los nombres de las variables con el mayor detalle posible.
- Manejar las variables tanto como sea posible.
- Si no lo sabe o está estancado, discuta
- Interésate y participa fuera de tu campo
- Intente modificarlo primero (si no funciona, puede usar la función Revertir)
¿Qué más podría haber?
Estructura del proyecto
Vídeo de análisis de la estructura del proyecto.
https://drive.google.com/file/d/1lWJpXaAh7shmv10t9AoQUbhHaI2ocUy0/view?usp=sharing
.idea
Configuraciones relacionadas con IntelliJ
Dado que el entorno de cada computadora es diferente, a menudo se corrige automáticamente. Si es posible, no envíes a github.
biblioteca
Esta es una carpeta que contiene bibliotecas externas (*.jar) utilizadas en proyectos Java. Para utilizar una clase específica, se requiere la biblioteca correspondiente y, si se agrega, se debe registrar con el compilador.
afuera
Esta es la carpeta ejecutable exclusiva de IntelliJ creada durante la compilación. Se inicializa cada vez que ejecuta el servidor. Es posible que el error haya ocurrido en otra computadora. Al compilar, todos los archivos se envían a la carpeta de salida y funcionarán desde esta carpeta.
Nunca envíes a Github. Pueden ocurrir errores.
src
Responsable del servidor web. Escrito en Java.
- com.se.team4
- solicitud
Este paquete fue diseñado para ser aplicado en una estructura lo más similar posible al programa booksys dado por el profesor.
dominio
Esta es la parte del Controlador. Normalmente, se solicita un controlador desde JSP y desde él se llama a DAO.
La parte que solicita el Controlador se menciona nuevamente en 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" ;
}
}
- principal
Este es un Controlador relacionado con la página de inicio principal.
persistencia
Esta es la parte del modelo. Contiene clases para comunicarse con MariaDB.
- D.A.O.
Estas son clases que escriben directamente declaraciones de consulta.
Creo que necesito pensar si debo enviar una consulta a la clase Base de datos como el archivo que me dio el profesor.
>() {
}.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
Esta es una clase para cargar la base de datos recibida de mariaDB en una clase Java.
Es conveniente pensar que existe un DTO por tabla de BD.
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 ;}
}
- común
Estas son las clases que forman el marco de este proyecto. Por favor nunca lo edites.
Al realizar cambios, asegúrese de compartir el motivo de la revisión.
- controlador
- filtrar
- índice
- SQL
web
Responsable de Vista. Escrito en JSP.
- CSS
Esta es una carpeta que contiene CSS para usar en JSP. (Bootstrap 5.0 incluido)
- js
Esta es una carpeta que contiene js para usar en JSP (Bootstrap 5.0, JQuery incluido).
- WEB-INF
jsp
JSP solicita la clase de dominio en formato *.do.
La ruta en formato *.do se puede encontrar en booksys.properties.
La base de datos definida en la clase de dominio anterior se recibe, se procesa en JS y luego se inserta en 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 >
- común
Hemos recopilado JSP de uso común. ej.) encabezado, pie de página
- página
Una colección de varias páginas básicas.
biblioteca
Me encontré con esto mientras hacía un proyecto, pero no sé qué es.
Cómo implementar
- Cómo instalar IntelliJ
https://leirbag.tistory.com/50
- Cómo instalar Tomcat
Ver sección 1 de https://leirbag.tistory.com/52
- Cómo instalar mariaDB
https://leirbag.tistory.com/46
- Cómo aplicar db
https://leirbag.tistory.com/47
- Cuando ocurre un error de base de datos en el compilador
https://leirbag.tistory.com/48
- Cómo instalar clones y proyectos
https://leirbag.tistory.com/56
Herramientas
- IntelliJ 2021.1
- Tomcat 9.0.45
- JSP
- MariaDB (versión olvidada)
- DBUtils
- JavaEE
- Oreja
- JQuery
- Áyax
Referencias
- Crear proyecto JSP con 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
- Historia de *.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-do-%ED%8C%8C%EC%9D%BC%EC%9D%98- %CE%9D%98%EB%AF%B8
- clase de acción
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
- Comparación entre Servlet y JSP
https://m.blog.naver.com/acornedu/221128616501