# :rocket: Proyecto base ## Índice __1. Configuración del entorno de trabajo__ __2. BBDD__ __3. CRUD usuario__ __4. CRUD nueva entidad__ __5. Estilos__ __6. REST__ ## Configuración del entorno de trabajo - __Instalación Software__ - [X] [Mysql5.7](https://dev.mysql.com/downloads/mysql/5.7.html) - [x] [Mysql Workbench](https://dev.mysql.com/downloads/mysql/5.7.html) - [x] [Git](https://git-scm.com/downloads) - [x] [Sourcetree](https://www.sourcetreeapp.com/) - [x] [Netbeans](https://netbeans.org/) - __Documentación__ - [x] [Mybatis](https://mybatis.org/mybatis-3/es/index.html) - [ ] [Primefaces](https://www.primefaces.org/) ## BBDD - [ ] Lanzar script de generación - [ ] Crear nuevas tablas ## CRUD usuario - __Mantenimiento usuario__ - Backend - [ ] Generar mapper _XML_ (está creado, échale un ojo) - [ ] Generar mapper _java_ (está creado, échale un ojo) - [ ] Generar servicio _java_ (está creado, échale un ojo) - "Frontend" - [ ] Crear controlador _java-bean_ - [ ] Crear vista _xhtml_ ## CRUD nueva entidad - __Mantenimiento nueva entidad__ - Backend - [ ] Generar mapper _XML_ - [ ] Generar mapper _java_ - [ ] Generar servicio _java_ - "Frontend" - [ ] Crear controlador _java-bean_ - [ ] Crear vista _xhtml_ - __Configuraciones extras__ - [ ] Crear permisos para usuarios - [ ] Crear algún parámetro de configuración ## Estilos - [ ] Pon las pantallas bonitas (a tu gusto) ## REST - [ ] GET de la información de la entidad creada en BBDD - [ ] POST sobre la entidad creada en BBDD ## :package: Paquetes importantes :::info Source Packages > es.metadata.proyectobase.utils ~ Utilidades :ok_hand: Source Packages > es.metadata.proyectobase.controllers ~ Controladores de las vistas (xhtml) :ok_hand: Source Packages > es.metadata.proyectobase.model ~ Modelos java para las entidades (POJOs) :ok_hand: Source Packages > es.metadata.proyectobase.services ~ Capa de servicios (lógica de negocio) Source Packages > es.metadata.proyectobase.dao ~ Mappers java (interface para inyectar en la capa de servicio) Other Source > src/main/resources > es.metadata.proyectobase.dao ~ Mappers xml (archivo de mapeo con las sentencias SQL) Other Source > src/main/resources > es.metadata.proyectobase.configuracion ~ Aquí se encuentran los archivos de configuración de los _middleware_, configuración de desarrollo y configuración de mybatis ::: ## :fire: Cositas importantes :::info Conexión a BBDD ~ * El patrón que se sigue com arquitectura de la aplicación es _Modelo-Vista-Controlador_ (estarás harto de escucharlo) ~ * Para poder acceder a cualquier bean dentro de otro (ya sea en la capa de servicio o en los controladores) debes utilizar la anotación _@Inject_ ~ * La lógica de negocio de la aplicación correspondería a la capa de servicios ~ * Todos los _Beans_ deben implementar la interfaz _Serializable_ ~ * En el archivo de configuración de mybatis _<nombre>.xml_ tendrás que cambiar la ip de la conexión por _localhost_ :::