Nos encontramos en una empresa de desarrollo y necesitamos una aplicación que permita pedir cita al CTO para resolver problemas técnicos de los equipos de desarrollo.
De momento vamos a desarrollar un producto mínimo viable (MVP) en PHP, e intentaremos llegar a una aplicación orientada a objetos usando el patrón MVC (Modelo-Vista-Controlador).
La aplicación constará de al menos 3 páginas:
- Una página para la lista con todas las citas previstas.
- Una página con un formulario para crear una nueva cita.
- Una página para editar una cita concreta.
- El nombre del coder o del equipo.
- El tema de consulta.
- La fecha la y hora de la creación de la cita.
- Las citas se podrán eliminar.
- Podremos acceder a la edición de cada cita, y a la página de creación de una cita nueva.
- Formulario con los campos necesarios obligatorios.
- Botón para borrar los campos.
- Botón para cancelar y volver a la lista principal.
- Botón para enviar la información.
- Formulario con los campos necesarios obligatorios.
- Los campos deben contener la información de la cita a editar.
- Boton para cancelar, botón para enviar.
La aplicación deberá ser responsiva.
- Aplicación de tipo CRUD (Create, Read, Update, Delete).
- Deberá ser orientada a objetos con el patrón MVC.
- Deberá alojarse en un servidor gratuito en producción.
- Se debe usar Git con buenas prácticas en los commits.
- El repositorio debe contener un Readme con explicación del proyecto, y una explicación de cómo instalar o ejecutar la aplicación.
- Añadir tests unitarios con PhpUnit.
- Añadir Tests End2End con Selenium.
- Frontend: HTML, CSS, SCSS - Opcional: Framework de CSS.
- Backend: PHP.
- Bases de datos: MySQL.
- No se pueden usar otras librerías o frameworks más allá de los espicificados.
- Un link a un repositorio de github.
- Un link a la URL del proyecto en producción.
- Presentación en diapositivas + link.
- Demo y code review.
- Semántica HTML.
- Buenas prácticas en CSS, SCSS.
- Capacidad de abstración en clases y objetos.
- Buenas prácticas OOP - Encapsulación, herencia.
- Patrones de diseño - Modelo-Vista-Controlador (MVC).
- Implementar la aplicación en un servidor en producción.
- Uso de Git.
- Desarrollo basado en historias de usuario y tareas (Kanban).
- Comunicación y autoevaluación.
- PHP 7.4 min
- Composer installed
- Clone git https://github.com/DiversosFactoria5/elConsultorioDelCodersMVC.git
- Crear una base de datos en phpMyAdmin en local, con los credenciales - user : root, password : ""
- Nombre de base de datos : consultant
- Importar la tabla siguiente : https://github.com/DiversosFactoria5/elConsultorioDelCodersMVC/blob/main/src/ReadMe.md/Database/consultant.sql
- composer install and/or composer update
- vendor/bin/phpunit
- (1 test, 2 assertions)
Dónde encontrar el proyecto en producción:
https://el-consultorio-del-coder.herokuapp.com/
El hoster Heroku nos genera un error de conexiones simultáneas a nuestra base de datos SQL, que no hemos podido solucionar en Heroku.
Mockup de cómo pensábamos que deberían ser las pantallas y sus funcionalidades:
- Visual Studio Code
- Trello
- Figma
- Metodologías Ágiles
- Balsamiq
- Planning Poker
- GoogleDocs
- GoogleFonts
- Zoom
- Bootstrap
- PDO
- Heroku
- SQL
- PHPMyAdmin
- Amr
- Andrea
- Andrés (Scrum Master)
- Jael
- Jose Miguel (Product Owner)
- Sergi
También pueden mirar la lista de todos los contribuyentes quienes han participado en este proyecto.