- Crear Una base de datos en PostgresSQL llamada
ocean
con tres tablas que se tienen que relacionar mutuamente (Organizaciones
,Santuarios
yEventos
. - Creación de endpoints que muestren toda la información de las tablas anteriormente mencionadas, su relación y busqueda especifica por id.
- Diagrama de las tablas y sus relaciones:
Lenguaje: Javascript
Framwork: Node.js
Base de Datos: posgresSQL
Dependencias:
Express: Es un marco de desarrollo para estructurar la API mediante los metodos HTPP (GET, POST, PUT, DELETE).
Prisma: Permite la conexion de la Base de Datos con el Servidor, Generar consultas y migracion.
CORS: Permite que una App consuma la API, mediante URLs cruzados.
- Crear una base de datos en PostgresSQL.
- Realiza un fork y clona los repositorio del servidor e instale las dependencias necesarias con
npm intall
. - Verificar que los URLs del Servidor y del Cliente esten correctos (en el servidor en el archivo server.js en la línea 13, donde es la inicialización del CORS).
- Servidor: Ingresar la información de la Base de Datos para tener una exitosa conexion con la API. La cual se encuentra en
.env
. No versione el username y password. - Genere la migración de las tablas
npx prisma migrate dev --name init
y corra el archivoseed.js
para agregar los datos en cada unanode prisma/seed.js
. - Corre la app con
node server.js
.
Endpoint | URL | Respuesta |
---|---|---|
"/" | http://localhost:3000/ | Mensaje de bienvenida |
"/organizaciones" | http://localhost:3000/organizaciones | Regresa todas las Organizaciones |
"/organizaciones/:id" | http://localhost:3000/organizaciones/1 | Regresa una organización especifico por ID |
"/organizacionesWithEventos" | http://localhost:3000/organizacionesWithEventos | Regresa todas las Organizaciones con sus eventos |
"/organizacionesWithEventos/:id" | http://localhost:3000/organizacionesWithEventos/1 | Represa una organización por ID con sus eventos |
"/santuarios" | http://localhost:3000/santuarios | Regresa todos los Santuarios |
"/santuarios/:id" | http://localhost:3000/santuarios/:id | Regresa un santuario especifico por ID |
"/santuariosWithEventos" | http://localhost:3000/santuariosWithEventos | Regresa todos los Santuarios con sus eventos |
"/santuariosWithEventos/:id" | http://localhost:3000/santuariosWithEventos/1 | Regresa un santuario por ID con sus Eventos |
"/eventos" | http://localhost:3000/eventos | Regresa todos los eventos |
"/eventos/:id" | http://localhost:3000/eventos/1 | Regresa un evento especifico por ID |
"/eventosWithOrganizacionSantuario" | http://localhost:3000/eventosWithOrganizacionSantuario | Regresa todos los eventos con las organizaciones y santuarios que lo patrocinan |
"/eventosWithOrganizacionSantuario/:id" | http://localhost:3000/eventosWithOrganizacionSantuario/1 | Regresa un evento por ID con las organizaciones y santuarios que lo patrocinan |
"/organizacionesWithSantuarios" | http://localhost:3000/organizacionesWithSantuarios | Regresa todas las organizaciones con los Santuarios que tienen |
"/organizacionesWithSantuarios/:id" | http://localhost:3000/organizacionesWithSantuarios/1 | Regresa una organización por ID con los Santuarios que tiene |
"/santuariosWithOrganizaciones" | http://localhost:3000/santuariosWithOrganizaciones | Regresa todos los Santuarios con sus organizaciones |
"/santuariosWithOrganizaciones/:id" | http://localhost:3000/santuariosWithOrganizaciones/1 | regresa un Santuaario por ID con sus organizaciones |
Ejemplos: