git clone https://github.com/Curso-Fullstack-MEAN-Octubre2017/oscarsuarez.git
cd oscarsuarez
npm install
npm start
El Cliente (Navegador)
Nube (Internet):
El Servidor físico:
MongoDB
Mongoose
NodeJS:
ExpressJS
AngularJS
Schema para MongoDB del modelo Pet
Servicios REST:
Líneas donde se define una ruta base /api a las url REST de pet https://github.com/Curso-Fullstack-MEAN-Octubre2017/oscarsuarez/blob/dafe3f949e75624d6e01e14f75d193d0951d0182/app.js#L15 https://github.com/Curso-Fullstack-MEAN-Octubre2017/oscarsuarez/blob/dafe3f949e75624d6e01e14f75d193d0951d0182/app.js#L34
Enlace a la línea donde está la definición de la url REST para el método GET que permite obtener un animal por su ID. https://github.com/Curso-Fullstack-MEAN-Octubre2017/oscarsuarez/blob/dafe3f949e75624d6e01e14f75d193d0951d0182/routes/pet.js#L10
Enlace al inicio de la función donde se realiza la petición a la base de datos y obtiene el resultado de la misma https://github.com/Curso-Fullstack-MEAN-Octubre2017/oscarsuarez/blob/dafe3f949e75624d6e01e14f75d193d0951d0182/controllers/pet.js#L18
Línea donde se define el nombre del módulo y el del componente.
Y a continuación se le indica la ruta de la plantilla HTML.
Linea donde empieza la petición http get para obtener el json con los detalles del pet
En la siguiente línea se asigna la respuesta a la variable scope.
En el archivo app.config.js es donde se hace las llamadas a los modules en función de la ruta en la que estamos
En el index.html se importa la ruta al módulo
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) |
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) |
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) |
Appointments:
Pets:
Customers:
permiten encapsular código HTML para facilitar su reutilización
Facilita la reutilización de funciones inyectando el servicio en diferentes componentes
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
Impedir que datos incorrectos se inserten en la base de datos
Es una forma de poder avisar a componentes cuando una acción es realizada.
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
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
Curso FULLSTACK – Oscar Suarez – Octubre/Noviembre 2017