Course Information
Course Overview
Build your own REST API server with the safety and performance of Rust using Actix Web, SQLx and JWT authentication.
In this course, we'll create a REST API server in Rust to manage a personal budget called MoneyFlow. MoneyFlow would allow us to manage categories and transactions.
Using this system, we'll be able to:
Create, list, update and delete categories
Create, list, update and delete transactions
List all transactions by a particular category
See total running balance and the running balance for a category
We'll learn how to:
Create a new Rust project using cargo
Build and run our Rust project
Add crates and enable crate features
We'll learn about basic API concepts such:
Routing and HTTP methods
Extracting data from HTTP requests
Interacting with the database to query and insert data
Creating user accounts
Authentication using JWT
Using relationships between models to query and list associated data
Along with these concepts, we'll learn how to:
Handle incoming (request) and outgoing (response) data in a type safe way
Handle CORS
Rate limiting
Create and run database migrations
We'll have an additional lecture at the end to learn how to Dockerize our API server to deploy and run it anywhere.
We'll be using the following crates:
Actix Web: a powerful, pragmatic, and extremely fast web framework for Rust.
SQLx: an async, pure Rust SQL crate featuring compile-time checked queries.
jsonwebtoken to create and decode JWTs in a strongly typed way.
serde and serde_json for serializing and deserializing Rust data structures efficiently and generically.
Course Content
- 10 section(s)
- 63 lecture(s)
- Section 1 Introduction
- Section 2 MoneyFlow
- Section 3 Database Setup with SQLx
- Section 4 Basic Controller Setup
- Section 5 Implementing Sign Up
- Section 6 Implementing Sign In
- Section 7 Authentication
- Section 8 User Profile
- Section 9 Managing Categories
- Section 10 Transactions
What You’ll Learn
- Create a Rust project
- Create a REST API server using Actix Web
- Interacting with a database using SQLx
- Authenticating APIs using JWT
- Running database migrations using SQLx CLI
Skills covered in this course
Reviews
-
VVadsalasack VORLAVONGSOR
voice of video not lound
-
JJuan Francisco Juarez Martinez
👍👍
-
SSebastian Engelmann
This course is highly recommended!
-
UUtkarsh Gaikwad
Very good course on Rust Backend Development. Only i feel like instructor volume is little low.