
Learn to build full-stack JWT authentication system with Deno, GraphQL, NextJS, and PostgreSQL
What you'll learn
- Learn how to use Deno, Oak framework, and GraphQL to build functional GraphQL API
- Learn how to integrate PostgreSQL database with Deno
- Learn how to implement authentication and authorization logic to protect API routes
- Learn how to handle Oak middleware functions
- Use and manipulate Oak context object (Request, Response, Cookies, and etc.)
- Learn how to send email in Deno
- Learn how to integrate Deno web framework with React (NextJS) frontend application
- Learn how to consume GraphQL API using Apollo Client (version 3)
- Learn to use React Context API to manage state
- Learn how to use React-hook-form
- Learn how to protect routes in NextJS application
- Learn how to persist state using Cookies
- Learn how to use Typescript both in backend and frontend
Requirements
- A computer: macOS, Windows, or Linux
- Know/Understand Javascript
- Basic knowledge of Node and React
- Basic understanding of Typescript will help, but not required as you can use Javascript
- You do not need to have GraphQL knowledge
Description
This course will guild you how to use/integrate modern and well-established technologies such as Deno.js, GraphQL, NextJS, and PostgreSQL to build a professional, real-world full-stack application.
# What are we going build?
- A full-stack JWT authentication system
- Create web server with Deno.js and Oak framework
- Create GraphQL server with Oak GraphQL library
- Setup PostgreSQL database and connect to the server
- Write GraphQL API (schema, queries, mutations)
- How to use Oak middleware function
- How to manipulate Oak Context and use it to pass data between middleware
- How to use Cookies
- How to create, send, and validate JWT token
- Perform PostgreSQL Create, Read, Update, Delete (CRUD) operations
- How to send email in Deno.js
- How to connect NextJS application with Deno web server using Apollo Client (v3)
- Fetch data from GraphQL API with Apollo Client Hooks (useQuery, useMutation)
- How to write Apollo Hooks as custom hook function
- How to fetch data from GraphQL API on server-side in NextJS
- Manage state with React Context API
- How to protect route on client-side in NextJS
- How to protect route on server-side in NextJS
- Beginner to intermediate React/Nodejs web developers