Building a Movie Collection Manager - Full Stack Workshop with Rust, Actix, SQLx, Dioxus, and Shuttle

Welcome to the this workshop! In this hands-on workshop, we will guide you through the process of building a full stack application using Rust for the API, Actix-Web as the web framework, SQLx for database connectivity, Dioxus for the front-end, and Shuttle for deployment. This workshop assumes that you have a basic understanding of Rust and its syntax.

Throughout the workshop, you will learn how to set up a Rust project with Actix-Web, implement CRUD operations for movies, establish database connectivity with PostgreSQL using SQLx, design a responsive front-end with Dioxus, and deploy the application to a hosting environment using Shuttle.

By the end of the workshop, you will have built a functional movie collection manager application. You will understand how to create APIs with Actix-Web, work with databases using SQLx, design and develop the front-end with Dioxus, and deploy the application using Shuttle. This workshop will provide you with practical experience and insights into building full stack applications with Rust.

Prerequisites:

  • Basic knowledge of the Rust programming language
  • Familiarity with HTML, CSS, and JavaScript is helpful but not required

Check the Prerequisites section of the workshop guide for more details.

Workshop Duration: 4,5 hours

Workshop schedule

1. Knowing the audience and installing everything
  - Introduction to the workshop
  - Installing Rust, Cargo, and other dependencies

2. Building the API with Actix-Web, SQLx and Shuttle
  - Introduction to Shuttle, Actix-Web and its features
  - Setting up and deploying an Actix-Web project
  - Establishing database connectivity with SQLx
  - Creating API endpoints for movie listing
  - Implementing CRUD operations for movies

3. Designing the Front-End with Dioxus
  - Introduction to Dioxus
  - Setup and installation
  - Components
  - State management
  - Event handling
  - Building

Info

The revised workshop schedule incorporates deployment with Shuttle, allowing participants to learn how to prepare and deploy the application to a hosting environment.

Repository Structure:

├── api            # Rust API code
│   ├── lib        # Actix-Web API code
│   └── shuttle    # Shuttle project
├── front          # Dioxus front-end code
├── shared         # Common code shared between the API and the front-end
└── README.md      # Workshop instructions and guidance

Resources:

  • Rust: https://www.rust-lang.org/
  • Actix-Web: https://actix.rs/
  • SQLx: https://github.com/launchbadge/sqlx
  • Dioxus: https://dioxuslabs.com/
  • Shuttle: https://www.shuttle.rs/

We hope you enjoy the workshop and gain valuable insights into building full stack applications with Rust, Actix, SQLx, Dioxus, and Shuttle. If you have any questions or need assistance, please don't hesitate to ask during the workshop. Happy coding!