[Rust] How to deploy to shuttle.rs

Outline

References:

Chương 1: Cài đặt

  • Cài đặt
curl -sSfL https://www.shuttle.rs/install | bash
  • Tạo project đầu tiên

[Rust Serial] Bài 5: Thao tác với Texting processing, File and Directory trong Rust

Bài này chúng ta sẽ tìm hiểu các thao tác với File, Directory và xử Text trong Rust. Đây là các kỹ năng cần thiết

Read more  ↩︎

[Rust Serial] Bài 4: Xây dựng HTTP REST API và các middleware

Outline

  • Chương 0: Giới thiệu DDD ?
  • Chương 1: Thực hành Xây dựng một ứng dụng đăng nhập cơ bản
    • 1.1 Cài đặt môi trường, các thư viện cần thiết
    • 1.2 Viết API regiter/login/logout
    • 1.3 Viết middleware
    • 1.4

References:

Chương 0: Giới thiệu DDD?

Gồm 4 lớp chính:

  • Presentation: Chứa các UI, API, giao diện người dùng. Lớp này phụ thuộc vào Application layer.

  • Application: Chứa các business logic. Lớp này phụ thuộc vào Domain layer.

  • Domain: Chứa các domain model. Đây là trung tâm của hệ thống, chứa các thực thể, trạng thái, logic nghiệp vụ.

  • Infrastructure: Chứa các technical detail như database, messaging, caching, ... Lớp này phụ thuộc vào Domain layer. DDD

  • Cách sử dụng DDD

app layer và ifras sử ụng domain, presentation sẽ giao tiếp với app layer

Chương 1: Thực hành Xây dựng một ứng dụng đăng nhập cơ bản

1.1 Cài đặt môi trường, các thư viện cần thiết

  • Sử dụng các thư viện sau
[dependencies]
serde = { version = "1.0.204", features = ["derive"] }
async-trait = "0.1.81"
diesel = { version = "2.2.1", features = ["postgres", "r2d2"] }
dotenv = "0.15.0"
r2d2 = "0.8.10"
actix-web = "4.8.0"
log = "0.4.22"
env_logger = "0.11.3"
  • Create a file .env
DATABASE_URL=postgres://rustddd:rustddd2024@45.119.83.244:6432/rust_ddd
  • Cài đặt diesel command line
cargo binstall diesel_cli 
cargo install diesel_cli

May be we get an error and need to install

Compiling unicode-normalization v0.1.23
error: failed to run custom build command for `mysqlclient-sys v0.4.0`

Caused by:
  process didn't exit successfully: `/tmp/cargo-installyi3JQ9/release/build/mysqlclient-sys-8ed54e8ffd0676e2/build-script-build` (exit status: 101)

>> 
sudo apt-get install libmysqlclient-dev
cargo install diesel_cli --no-default-features --features postgres

Tham khảo link