orcapracticas / gql Goto Github PK
View Code? Open in Web Editor NEWPracticas realizadas utilizando graphql
License: MIT License
Practicas realizadas utilizando graphql
License: MIT License
Durante el curso se implementara el uso una base esta base estara integrada en sqlite, por lo que es necesario instalar las siguientes dependencias.
Crear rama add/DataBase
sqlite3: Gesto de base de datos
objection: un ORM para Node.js que pretende mantenerse al margen y hacer que sea tan fácil como sea posible utilizar toda la potencia de SQL y el motor de base de datos subyacente.
knex: (Generador de consutltas para Postgres, MSSQL, MySQL, MariaDB, SQLite3, Oracle, and Amazon Redshift ), diseñado para ser flexible y portatil.
Por buenas prácticas se recomienda modularizar el contenido del esquema.
Al contar con la instalación de casual es necesario crear los siguientes mocks
Tomar en cuenta que los datos que contiene el mock serán aleatorios
Es necesario instalar la dependencias casual como dependencia de desarrollo
Es necesario tener la capacidad de
Los querys que se estarán ejecutando del lado de graphql necesitan una estructura base de la cual si lo vemos son muy genéricos por lo que seria recomendable crear un script que permite agilizar la estructuración de los querys.
Nota: Recordemos que estamos utilizando objection como ORM
// Comando que permite instertar un registro
Profesor.query().insert(args.profesor)
// Comando que permite actualizar un registro
Profesor.query().patchAndFetchById(args.profesorId, args.profesor)
// Comando que permite borrar un registro
Profesor.query().findById(args.profesorId).then((profesor) => {
return Profesor.query().deleteById(args.profesorId).then((filasBorradas) => {
if (filasBorradas > 0) return profesor
throw new Error(`El profesor con id ${args.profesorId} no se pudo eliminar`)
})
})
Es necesario tener la capacidad de
Crear readme describiendo de manera muy breve como se corre el proyecto
Al borrar un usuario es necesario que se muestre un error como lo que vemos.
{
"data": {
"profesorDelete": null
},
"errors": [
{
"errorCode": "A55",
"name": "GraphQLError",
"mensaje": "El registro con el id 44 no se puede elmiar"
}
]
}
Al terminar el curso es necesario realizar la implementación de las nuevas de los paquete instalados, el mas importante es
Al contar con las instalaciones que se marcan en le issue #30 en necesario crear los comandos
Es necesario tener la capacidad de
Al terminar con los issues #13 #14 #15 #17, se procedera a realizar la configuración para la base de datos
Crear archivo db.sqlite (Base de Datos)
Crear archivo de configuracion knexfile.js
Crear comando db:migration dentro de package.json, dicho comando tiene que permitir crear las tablas indicadas en el issue #14
Crear comando db:seed dentro de package.json, dicho comando tiene que cargar data usando los scripts creados en el issue #15
Nota: Para poder realizar pruebas es recomendable instalar sqllite3 al tenerlo instalado corremos el comando
sqllite3 [ruta de la BD]
esto habilitara la consola en la cual podremos ejecutar comandos deSQL
Como ejemplo final es necesario usar un api que nos regrese un json para esto tenemos que tener resuelto el issue #38
.babelrc
.gitignore
Es necesario generar los los resolvers los cales permiten realizar el mapeo de los datos correspondientes a nuestros esquemas.
{
cursos {
id
titulo
descripcion
profesor{
id
nombre
nacionalidad
genero
cursos{
id
}
}
raiting
comentarios{
id
nombre
cuerpo
}
}
}
Es necesario realizar una busqueda utilizando union
Es necesario instalar nuevas dependencias para poder realizar la integración
al resolver el issue #17 es necesario realizar la integración de los modelos para que GQL pueda extraer los datos correspondientes de sqlite
Crear script que permite llenar las tablas creadas en el issue #14, es necesario que la data se fake por lo que se recomienda utilizar la dependencia casual esta instalación se resolvió en el issue #10,
Es necesario crear los scripts que contrariaran las tablas que tendrán relación con los schemas creados en el issue #4,
Instalación inicial de las dependencias necesarias para iniciar el proyecto
Al realizar la configuración inicial (#2) se genero un Schema solo con la finalidad de que todo funcionaba correctamente, Es importante realizar la planificación del Schema que se utilizara durante el curso por lo que en necesario cumplir con las tareas siguientes.
Utiliza la opción del mock, para generar datos falsos por lo cual considerar las tareas siguientes,
{
cursos {
id
titulo
descripcion
profesor{
id
nombre
nacionalidad
genero
cursos{
id
}
}
raiting
comentarios{
id
nombre
cuerpo
}
}
}
Instalación de dependnecias para la integracion con react
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.