Building Web Apis With Rust (Advanced)
Published 3/2023
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 4.47 GB | Duration: 7h 16m
Published 3/2023
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 4.47 GB | Duration: 7h 16m
Back-end web development for Rustaceans
What you'll learn
Implementing an authentication service in a Rocket REST API
Managing database entities with complex fields and relationships using Diesel and PostgreSQL
Implementing a cache database with Redis
Session handling and granular access management for different endpoints
Testing API endpoints in an automated way
Sending HTML emails with lettre and tera
Writing CLI commands with clap
Requirements
Good knowledge of Rust
Familiarity with docker and docker-compose
Understanding of HTTP, REST and JSON
Experience with SQL and ORMs in general
Description
Rust is a systems programming language which you can use to write applications with high performance. It is amazingly refreshing with a very helpful compiler who is your mentor since the very beginning.Cargo is not only a package manager but also a build tool, a documentation generator and a lot more, making your every day managing Rust apps really easy.It is no wonder that for these reasons, plus many more, Rust was voted as StackOverflow’s most loved programming language, five years in a row.You have already spent a good amount of time developing web applications and you have a very good understanding of Rust.You are beyond the point of simple, toy applications and you are ready to start doing some serious back-end web development and you are wondering whether Rust can be used for this purpose.You are looking for a resource that has all you need in a single place.Well, look no further! In this course i will show you how to create a complex web app in Rust that serve JSON APIs but also have a CLI interface at the same moment. We will use the Rocket web framework along with the Diesel ORM to build Rest APIs with- Authentication built-in (users and passwords)- Redis as a cache storage- Access management with roles - Handling for datetime fields- CLI commands- Logging- Automated API testing
Overview
Section 1: Introduction
Lecture 1 Introduction
Lecture 2 Local setup
Lecture 3 Gitlab repository
Section 2: Database
Lecture 4 Migrations and models
Lecture 5 Repositories
Section 3: Web server
Lecture 6 Rustacean endpoints
Lecture 7 Crate endpoints
Section 4: Tests
Lecture 8 Rustacean endpoint tests
Lecture 9 Crate endpoint tests & logging
Lecture 10 Tests cleanup and a few more cases
Section 5: Authentication
Lecture 11 User/Role models and relationship
Lecture 12 Users management CLI command
Lecture 13 Create user command
Lecture 14 Password hashing
Lecture 15 List and delete users
Lecture 16 Login endpoint
Lecture 17 Generating session IDs
Lecture 18 Redis setup
Lecture 19 Redis key/value set with expiry
Lecture 20 Making routes private
Lecture 21 Access levels based on roles
Section 6: Emails
Lecture 22 Lettre and tera for email sending
Lecture 23 Email module and cleanup
Section 7: Outro
Lecture 24 Recap and goodbye
Web developers looking to build a Rust server for advanced cases,Web developers looking into building very fast and reliable servers