Tags
Language
Tags
December 2024
Su Mo Tu We Th Fr Sa
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 1 2 3 4

The Ultimate Nodejs Typescript Sql - Job Portal Project

Posted By: ELK1nG
The Ultimate Nodejs Typescript Sql - Job Portal Project

The Ultimate Nodejs Typescript Sql - Job Portal Project
Published 8/2024
MP4 | Video: h264, 1920x1080 | Audio: AAC, 44.1 KHz
Language: English | Size: 17.34 GB | Duration: 28h 40m

Build a complete Job Portal from scratch using Node.js, TypeScript, SQL, Redis, and Prisma

What you'll learn

Develop a scalable and efficient backend for a job portal using NodeJS and TypeScript

Implement robust RESTful APIs to manage job listings, applications, and user authentication.

Master SQL for efficient data storage, retrieval, and manipulation.

Use Prisma as an ORM to streamline database operations and interactions.

Optimize backend performance with Redis for caching and improving response times.

Secure your application with JWT-based authentication and authorization.

Handle file uploads and data validation in a professional manner.

Implement pagination and search functionalities in the backend.

Learn best practices for structuring and organizing backend code in a scalable way.

Requirements

Basic understanding of JavaScript

Basic understanding SQL

No need for any NodeJS experience

No need for any Typescript experience

Description

Unlock the power of web development by focusing on the backend with "The Ultimate NodeJS TypeScript SQL - Job Portal Project." In this comprehensive course, you will learn how to build a scalable and efficient job portal from the ground up, concentrating on the server-side technologies that make modern web applications possible.Starting with Node.js and TypeScript, you will dive deep into backend development, creating a robust API for managing job listings, applications, and user authentication. You'll harness the power of SQL databases for efficient data storage and retrieval, and use Prisma for seamless database interaction. Additionally, Redis will be utilized to optimize performance, implementing caching mechanisms that enhance the user experience.By the end of this course, you will have a complete backend solution for a job portal, equipped with authentication, data management, and optimization techniques that are essential for any large-scale application.This course is perfect for developers looking to strengthen their backend skills and gain hands-on experience with industry-standard tools and practices.Why Learn SQL?There are a lot of courses out there that teach you MongoDB (NoSQL), but in the real world, many companies use SQL. This course focuses on SQL, ensuring you are equipped with the skills that are in demand in the industry.Problem-Solving SkillsOne of the most effective ways to level up as a programmer is to "fix bugs and research" and many courses out there don't teach you that. I will do the opposite. I will guide you on how to "research and fix bugs" equipping you with the problem-solving skills essential for any professional developer.Why Class?As a backend developer, learning and mastering classes is crucial. Classes in TypeScript allow you to define object blueprints, enabling more structured and maintainable code. This course will cover the essential concepts of object-oriented programming (OOP) and how to effectively use classes to build scalable and reusable components in your applications.

Overview

Section 1: Introduction

Lecture 1 Introduction

Section 2: Web Development

Lecture 2 Note for bonus section

Lecture 3 Client Server Model

Lecture 4 HTTP Protocol

Lecture 5 HTTP Request

Lecture 6 What's happen if we go to a website?

Lecture 7 What is a port number?

Lecture 8 How to build a website?

Lecture 9 HTTP Status Code

Lecture 10 How to run a website?

Section 3: NodeJS Fundementals

Lecture 11 Install NodeJS

Lecture 12 Global variables

Lecture 13 Module: require keyword

Lecture 14 Module: export keyword

Lecture 15 Bult-in Module: path

Lecture 16 Bult-in Module: fs

Lecture 17 Benefits of Asynchrony

Lecture 18 Event Emitter

Lecture 19 Create a first web server

Lecture 20 Response html file

Lecture 21 Check url

Lecture 22 Response JSON

Lecture 23 Send data to server

Lecture 24 Separate URL

Lecture 25 Handle not found exception

Lecture 26 Update item

Lecture 27 Delete item

Section 4: ExpressJS Fundementals

Lecture 28 Introduction to NPM

Lecture 29 What is ExpressJS ?

Lecture 30 Create a web server

Lecture 31 Response in express.js

Lecture 32 Explore HTTP method in express.js

Lecture 33 Explore parts of URL

Lecture 34 What is a REST/RESTFUL API ?

Lecture 35 Get one item

Lecture 36 Auto restart server

Lecture 37 Create item

Lecture 38 Update item

Lecture 39 Delete item

Lecture 40 Middleware

Lecture 41 Model View Controller (MVC)

Lecture 42 Refactor code to MVC

Lecture 43 Router in express.js

Section 5: Express.js Simple Project

Lecture 44 Project Overview

Lecture 45 Create a new project

Lecture 46 Setup MVC folder

Lecture 47 Create a MongoDB database

Lecture 48 Mongoose ODM

Lecture 49 Create user collection

Lecture 50 Insert user document

Lecture 51 Handle database error

Lecture 52 What is JWT?

Lecture 53 Create a JWT

Lecture 54 Check email unique

Lecture 55 Login user

Lecture 56 Hash password

Lecture 57 Create task collection

Lecture 58 Create a task

Lecture 59 Task authentication

Lecture 60 Get all tasks

Lecture 61 Get single task

Lecture 62 Update task

Lecture 63 Delete task

Lecture 64 Wrap up

Section 6: TypeScript

Lecture 65 Basic type system

Lecture 66 Array

Lecture 67 Object

Lecture 68 Array of object

Lecture 69 Function

Lecture 70 Interface

Lecture 71 Introduction to class

Lecture 72 Class - object creation

Lecture 73 Class - constructor

Lecture 74 Class - method

Lecture 75 Class - inheritance

Lecture 76 Class - override method

Lecture 77 Class - access modifiers

Lecture 78 Abstract class - part 1

Lecture 79 Abstract class - part 2

Lecture 80 Type alias

Lecture 81 Union type

Lecture 82 Intersection type

Lecture 83 Tuple

Lecture 84 Interface inheritance

Lecture 85 Type vs Interface

Lecture 86 Enum type

Section 7: Setup - Big Project Time

Lecture 87 Prepare project

Lecture 88 Setup server

Lecture 89 Setup eslint and prettierrc

Lecture 90 Setup auto format

Lecture 91 Setup some methods

Lecture 92 Setup folder structure project

Lecture 93 Environment variables

Lecture 94 Setup router like pro!

Lecture 95 Install PG Admin

Lecture 96 Setup Prisma ORM

Lecture 97 How to create & get data in Prisma ?

Lecture 98 Adding new column on existing table

Lecture 99 Single Responsibility Principle

Section 8: Express Error Handling

Lecture 100 Not Found error

Lecture 101 HTTP Status Constant

Lecture 102 Create custom error class

Lecture 103 Async wrapper

Lecture 104 Common error

Lecture 105 How to validate req.body ?

Lecture 106 Create a re-use middlware for validation

Lecture 107 next()

Section 9: Feature: Authentication

Lecture 108 Setup auth controller

Lecture 109 Signup functionality

Lecture 110 Signin functionalify

Lecture 111 Send token via cookie

Lecture 112 sendTokenToCookie function

Lecture 113 Verify User middleware

Lecture 114 Logout functionality

Lecture 115 Another way to throw error

Section 10: Feature: Candidate Profile

Lecture 116 Design a candidate profile model

Lecture 117 Setup folder structure

Lecture 118 Create candidate profile

Lecture 119 Get candidate profile

Lecture 120 Update candidate profile

Lecture 121 Delete candidate profile

Lecture 122 Fix any type

Lecture 123 A big gotcha with get method

Lecture 124 Reuseable function

Lecture 125 Allow access middleware

Lecture 126 Schema validation

Lecture 127 Candidate open to work property

Section 11: Feature: Candidate Language

Lecture 128 Design a language model

Lecture 129 How to seed data in prisma?

Lecture 130 Many to Many relationship

Lecture 131 Folder structure

Lecture 132 Add language to candidate profile

Lecture 133 Read my languages

Lecture 134 Update language level

Lecture 135 Delete language

Lecture 136 Interface & Schema

Section 12: Feature: Education

Lecture 137 Create an education model

Lecture 138 Seed some educations

Lecture 139 Again! Many to Many relationship

Lecture 140 Folder structure

Lecture 141 Add education to candidate profile

Lecture 142 Get my educations

Lecture 143 Update education

Lecture 144 Delete education

Lecture 145 Interface

Lecture 146 Schema validation

Section 13: Feature: Skill

Lecture 147 Create skill model

Lecture 148 Seed some skills

Lecture 149 Candidate skill model

Lecture 150 Add skill for candidate profile

Lecture 151 Get my skills

Lecture 152 Remove skill

Section 14: Feature: Experience

Lecture 153 One to Many relationship

Lecture 154 Folder structure

Lecture 155 Create candidate experience

Lecture 156 Get my experiences

Lecture 157 Get candidate experience

Lecture 158 Delete experience

Lecture 159 Interface & Schema validation

Section 15: Feature: Company

Lecture 160 Design a company model

Lecture 161 Folder structure

Lecture 162 Create company

Lecture 163 Get company

Lecture 164 Pagination

Lecture 165 Response with pagination

Lecture 166 Filtering

Lecture 167 How to re-use pagination logic?

Lecture 168 How to apply pagination logic to different method?

Lecture 169 Update company

Lecture 170 Approve company

Lecture 171 Delete company

Lecture 172 Interface & Schema validation

Section 16: Feature: Company Images

Lecture 173 One to Many relationship

Lecture 174 Folder structure

Lecture 175 How to send multiple images?

Lecture 176 Get company image

Lecture 177 How to delete an image?

Section 17: Feature: Industry

Lecture 178 Create model & seed data

Lecture 179 Create company industry model

Lecture 180 Folder structure

Lecture 181 Add industry to company

Lecture 182 Get all companies

Lecture 183 Delete an industry

Section 18: Feature: Role (Job)

Lecture 184 Create a job role model

Lecture 185 Folder structure

Lecture 186 Create role

Lecture 187 Get all job roles

Lecture 188 Delete job role

Section 19: Feature: Job

Lecture 189 Design a model

Lecture 190 Folder structure

Lecture 191 Create a job

Lecture 192 Add more filtering criteria

Lecture 193 Order data

Lecture 194 Get one job

Lecture 195 Join table in prisma

Lecture 196 Best serialize data strategy

Lecture 197 Update job

Lecture 198 Update status

Lecture 199 Soft delete

Lecture 200 Interface & Schema validation

Section 20: Feature: Job Skill

Lecture 201 Create a job skill model

Lecture 202 Create folder structure

Lecture 203 Create skill for job

Lecture 204 Get job skill

Lecture 205 Remove job skill

Section 21: Feature: Job Benefit

Lecture 206 Create model

Lecture 207 Many to Many relationship

Lecture 208 Folder structure

Lecture 209 Create job benefit

Lecture 210 Get job benefits

Lecture 211 Delete benefit

Section 22: Feature: Apply Job

Lecture 212 Create an apply model

Lecture 213 Folder structure

Lecture 214 Apply job

Lecture 215 Get applications

Lecture 216 Improve get applications

Lecture 217 Update apply status

Lecture 218 Apply the active job

Section 23: Feature: Package

Lecture 219 Create a package model

Lecture 220 Folder structure

Lecture 221 Create a package

Lecture 222 Get all packages

Lecture 223 Update package

Lecture 224 Update package status

Lecture 225 Create recruiter package model

Lecture 226 Create order model

Lecture 227 Recruiter package folder structure

Lecture 228 Track it in order

Lecture 229 Prevent buy package second times

Lecture 230 Limit job posting

Lecture 231 Recruiter buy package

Lecture 232 Order folder structure

Lecture 233 Get orders

Lecture 234 Get one order

Lecture 235 Update order status

Section 24: On Delete Cascade

Lecture 236 Disable delete candidate route

Section 25: Feature: User

Lecture 237 Create a new user

Lecture 238 Get user & pagination

Lecture 239 Update user

Lecture 240 Update password

Lecture 241 Update status

Lecture 242 Interface & Schema validation

Lecture 243 Exclude fields function

Section 26: Redis Installiation

Lecture 244 What is redis?

Lecture 245 What is redis data structure?

Lecture 246 How to install redis? (Docker)

Section 27: Redis String

Lecture 247 SET command

Lecture 248 SET command with options

Lecture 249 How to increment number?

Section 28: Redis List

Lecture 250 Add element into list

Lecture 251 Add element at the beginning of the list

Lecture 252 Remove element in list

Lecture 253 Get element in list

Lecture 254 LLEN & LREM

Section 29: Redis Hash

Lecture 255 Store a hash

Lecture 256 Key convention

Lecture 257 Increment value

Lecture 258 Get all keys in hash

Section 30: Redis Set

Lecture 259 Store member in set

Lecture 260 SCARD & SISMEMBER

Lecture 261 Remove member in set

Section 31: Redis Sorted Set

Lecture 262 Add member to sorted set

Lecture 263 Get members

Aspiring backend developers looking to build practical, real-world applications.,Intermediate developers wanting to deepen their knowledge of NodeJS, TypeScript, and SQL.,Professionals aiming to enhance their skills in backend development and database management.,Students interested in learning how to create scalable and optimized server-side solutions.,Developers seeking hands-on experience with industry-standard tools and best practices.