GraphQL API with Node.js, TypeScript, PostgreSQL
What you'll learn
- Create GraphQL API with Nodejs, Express, TypeScript, PostgreSQL, Prisma and Redis
- Learn to implement authentication,, authorization, CRUD, relationships, Cursor based pagination and a lot more in one of the most popular tech stack out there.
- Learn all those optimized practices like pagination (cursor), query complexity, caching etc.
- Learn how to build a practical project, showcase your skills, get a job. No more theoretical stuff with uncertain results.
- Learn testing GraphQL APIs with insomnia and playground.
- This is not a beginner friendly course. You should have already created some hobby projects in Nodejs
We will be using Node.js with Express, Nexus Schema for GraphQL, Prisma as an ORM for PostgreSQL, Redis and of course everything will be written in TypeScript, including the auto generated code.
We will be spending majority of the time in our very own VS-Code. But we will also be using Playground/Insomnia for testing our GraphQL API.
I recommend you code along. And try to watch it at 1.5x speed at least. It saves time.
Register User (Create a new User)
Login (Session based authentication with caching in redis)
Get Authenticated User (Get the currently authenticated user details => more like an api which tells our api consumers that they are authenticated or not => will be judged by the validity of the cookie passed in the requests => our backend will check the cookie's validity and spit out 401 error if the cookie is invalid/absent)
Get all Users
Create Posts (A user can create as many posts it wants => one to many relationship)
Their relationship with User (Each post will be associated to a single user as it's author/creator => many to one relationship)
Get all Posts
Difference between Cursor and Offset based paginations.
Cursor based pagination implementation.
Language & Frameworks
nexus (for code oriented GraphQL code base)
express-session (for authentication => session based and cookies)
connect-redis (for storing sessions in redis,, for authentication)
Who this course is for:
- TypeScript & GraphQL Enthusiasts.
- Nodejs Developers
I am a passionate Full Stack Developer who likes to learn and code new technologies both professionally and as a hobby. Though at personal level I am a functional programming enthusiast but I am not at all language oriented and my channel has tutorial videos of Elixir, Node.js, React.js, TypeScript, Flutter and all that good stuff.
Yet to learn RustLang though.
Talk is cheap, let me show you the code.