Curso-Fullstack-MEAN-Octubre2017 / oscarsuarez

1 stars 1 forks source link

memoria_curso_fullstack_--002

Instalar el proyecto

git clone https://github.com/Curso-Fullstack-MEAN-Octubre2017/oscarsuarez.git

cd oscarsuarez

npm install

npm start

Arquitectura de MEAN

memoria_curso_fullstack_--003

MODELO DE DATOS

memoria_curso_fullstack_--004

CASOS DE USO

memoria_curso_fullstack_--005

DIAGRAMAS

Diagrama de flujo Cliente-Mascota

cliente-mascotas

Diagrama de flujo Calendario-Cita

calendario-citas

Servicios REST publicados

Implementación CRUD Pet

Controlador Angular

Componente.js

Línea donde se define el nombre del módulo y el del componente.

Componente.html

Configuración del Módulo

Ruta Angular

Servicios REST publicados

Appointments

METODO URL BODY RESPONSE
GET /api/appointments Null Res.json([appointments])
GET /api/appointments/:id Null Res.json(appointment)
GET /api/appointments/:from/:to Null Res.json(appointments)
POST /api/appointments {JSON} Res.json(createdAppointment)
PUT /api/appointments/:id {JSON} Res.json(updatedAppointment)

Pets

METODO URL BODY RESPONSE
GET /api/customers/:id/pets Null Res.json([pets])
GET /api/pet/:id Null Res.json(pet)
DELETE /api/pet/:id Null Res.send.status(200)
POST /api/pet/:id {JSON} Res.json(createdPet)
PUT /api/pet/:id {JSON} Res.json(updatedPet)

Customers

METODO URL BODY RESPONSE
GET /api/customers Null Res.json([customers])
GET /api/customers/:id Null Res.json(customer)
POST /api/customers {JSON} Res.json(createdCustomer)
PUT /api/customers/:id {JSON} Res.json(updatedCustomer)

Ficheros Encargados de publicar las rutas

Implementaciones

Directivas Personalizadas

permiten encapsular código HTML para facilitar su reutilización

Servicios

Facilita la reutilización de funciones inyectando el servicio en diferentes componentes

Servicios con Resource

Control de concurrencia optimista (OCC)

Separación de responsabilidades

En la ruta simplemente envío la información y recibo la respuesta en forma de promesa, El controlador se encarga de la lógica

Validaciones

Impedir que datos incorrectos se inserten en la base de datos

Eventos

Es una forma de poder avisar a componentes cuando una acción es realizada.

SocketIo

Controladores anidados

memoria_curso_fullstack_--012 El componente padre engloba a los hijos y es notificado de cualquier cambio en sus hijos y se encarga de refrescarlos. https://github.com/Curso-Fullstack-MEAN-Octubre2017/oscarsuarez/blob/ab6d7e01c79a4f3bc0d8139db2696bfe01b704f4/public/app/modules/appointments-module/appointments-module.html https://github.com/Curso-Fullstack-MEAN-Octubre2017/oscarsuarez/blob/ab6d7e01c79a4f3bc0d8139db2696bfe01b704f4/public/app/modules/appointments-module/appointments-module.js

Pantallas de la App y componentes asociados en GitHub

Inicio

https://github.com/Curso-Fullstack-MEAN-Octubre2017/oscarsuarez/tree/master/public/app/modules/login-module memoria_curso_fullstack_--013

Buscar Clientes

https://github.com/Curso-Fullstack-MEAN-Octubre2017/oscarsuarez/tree/master/public/app/modules/customer-module memoria_curso_fullstack_--014

Detalle de clientes

https://github.com/Curso-Fullstack-MEAN-Octubre2017/oscarsuarez/tree/master/public/app/modules/customerdetail-module https://github.com/Curso-Fullstack-MEAN-Octubre2017/oscarsuarez/tree/master/public/app/modules/pet-module memoria_curso_fullstack_--015

Detalle de la Mascotas

https://github.com/Curso-Fullstack-MEAN-Octubre2017/oscarsuarez/tree/master/public/app/modules/petdetail-module memoria_curso_fullstack_--016

Calendario de citas

https://github.com/Curso-Fullstack-MEAN-Octubre2017/oscarsuarez/tree/master/public/app/modules/appointmentscalendar-module memoria_curso_fullstack_--017

Horas disponibles

https://github.com/Curso-Fullstack-MEAN-Octubre2017/oscarsuarez/tree/master/public/app/modules/appointments-module/appointmentsday-module memoria_curso_fullstack_--018

Detalle de cita

https://github.com/Curso-Fullstack-MEAN-Octubre2017/oscarsuarez/tree/master/public/app/modules/appointments-module/appointmentsdetail-module memoria_curso_fullstack_--019

Crear/Editar Cita

https://github.com/Curso-Fullstack-MEAN-Octubre2017/oscarsuarez/tree/master/public/app/modules/appointments-module/appointmentspost-module memoria_curso_fullstack_--020

Despliegue de la app a producción

memoria_curso_fullstack_--023

memoria_curso_fullstack_--021