Dive into modern web development as you build a feature-rich URL Shortening Service from the ground up. This comprehensive course is designed to provide you with a thorough understanding of TypeScript, PostgreSQL, Koa.js , REST, Knex.Js, and the MVC design pattern, as well as practical experience in applying these technologies and concepts to a real-world project.
In this course, you will start by setting up your development environment and configuring the required tools for an optimal workflow. You will then dive into database configuration and management using PostgreSQL, learning how to create and execute migrations to set up your database schema. The course also covers the use of TypeScript to create efficient and scalable models that interact with the database, as well as the implementation of services to handle URL-related operations and other application logic.
As you progress through the course, you'll explore user authentication and authorization, covering topics such as user registration, password hashing, and JWT-based authentication for secure access to protected resources. You will also learn how to develop a RESTful API using the Koa web framework and Koa Router, creating routes and middleware for various application functionalities.
Throughout the course, you will be guided by hands-on examples and practical exercises that will reinforce your understanding of the topics covered. By the end of this course, you'll have developed a solid foundation in modern web development technologies, enabling you to create efficient and robust applications using TypeScript, PostgreSQL, Koa, and the MVC design pattern. With a completed URL Shortening Service project to showcase, you'll be well-prepared to tackle future web development challenges with confidence and expertise
Understand URL shortener services and their benefits
Get familiar with key technologies: Knex, TypeScript, and Koa, JWT, Hashing
Set up the development environment and configure project tools
Establish a database connection and configure Knex instance
Create and manage database migrations
Implement a services layer in your project
Validate objects and handle exceptions with custom libraries
Understand HTTP status codes and operational vs non-operational errors
Create an authentication service
Hash passwords and store them securly
Learn about JWT tokens and implement token issuance and validation
Set up Koa server, middlewares, and routers for API handling
Protect your Koa router with authentication middlewares
Basic understanding of programming concepts and JavaScript language.
Familiarity with Nodejs and npm (Node Package Manager) for managing packages.
Some experience with databases, particularly relational databases, and SQL.
A basic understanding of RESTful API concepts and JSON data format.
An understanding of MVC (Model-View-Controller) design pattern is helpful but not required.