Repository created to record my practice learning GraphQL with exercises based on the Udemy Course of Andrew Mead and Apollo GraphQL - Fullstack Tutorial.
- Current repo's version is
- This course has been completed on 26/01/2022 - Certificate
After finishing its related Udemy course, I archive this repository and unarchive it when I start a new training and add a link in the Other practice repos section referring to its new repo. But I don't update any associated dependency due to technology changes during the years between each practice, and the produced code which works with the mentioned requirements.
- Node
v16.13.2or above - A relational database (like
PostgreSQLorMySQL, for example) (for3-prisma) - pgAdmin or any relational database client (for
3-prisma)
1-exercises: Exercises related to Andrew's course.2-apollo: Server and Client projects from Apollo's Tutorial to understand an end-to-end implementation.3-prisma: Prisma learning and integration with a GraphQL server.4-testing: How to create and run unit tests for a GraphQL server
After cloning the repo, go to the created folder and install the node packages.
git clone https://github.com/NicolasOmar/graphql-practice.git
cd graphql-practice
npm run setup-allsetup-all is the command to install all the projects, but if you want to do it one by one, you can change that last line for one of the following:
| App Setup | Command |
|---|---|
| All | npm run setup-all |
| Exercises | npm run setup-exercises |
| Apollo tutorial | npm run setup-apollo |
| Prisma exercises | npm run setup-prisma |
| Unit testing | npm run setup-testing |
- Set and run a server using a minimum configuration.
- How to set
typeDefsandresolvers.
- How to set
- Understanding of
ScalarandCustom Types. - How to make a
Query.- Structure the operator to be called.
- Make calls for deep-level objects.
- Make calls using operators and configure it through a
resolver. - Understanding and configuration of
Relational datathroughTypes.
- How to make a
Mutation.- Configure
Input Typesto improve readability in Mutation operators.
- Configure
- How to make a
Subscription. - Structure a good
folder structure.- Creation of a
Schema fileto hold created Types (Queries, Mutation, Subscriptions, and Custom Types). - Split different Resolvers into files by Operation type or Entity.
- Creation of a
- How to make CRUD operations (CREATE, READ, UPDATE & DELETE) to a SQL-based database using
Prisma.- Understand how to map the database config using
prisma db pull&&prisma generate. - How to use its special annotations in the
schema.prismafile. - How to make changes to the database using
prisma db push. - Integrate the tool in a Node/GraphQL server.
- Hash and compare hashed passwords using bcrypt.
- Create JWT and verify tokens using jsonwebtoken.
- Paginate results by using
takeandskipproperties in queries. - Sort the results by using
orderByandorder.
- Understand how to map the database config using
- How to create and run unit test cases by using Jest.
- Run an Apollo GraphQL client for plain JavaScript with apollo-boost and cross-fetch
- Create a fake database on the fly using faker.
- Build a site with pure HTML with parcel.
| Node | React | Angular | Typescript | HTML & CSS | Styling | NextJS | Python | NestJS |
|---|---|---|---|---|---|---|---|---|