What you'll learn:
- 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
- Test API endpoints with Postman
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