Building web APIs with Rust (advanced)
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
- Good knowledge of Rust
- Familiarity with docker and docker-compose
- Understanding of HTTP, REST and JSON
- Experience with SQL and ORMs in general
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, seven 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
- Automated API testing
Who this course is for:
- Web developers looking to build a Rust server for advanced cases
- Web developers looking into building very fast and reliable servers
Software engineer with more than 10 years of experience in developing and architecting web applications.
Experienced with languages including PHP, JS, Python, Go. Also extensive experience with databases like MySQL and PostgreSQL but also with NoSQL solutions like Elasticsearch and Redis.
Lately in love with Rust, its evolving web ecosystem and awesome community.