learning zero to production in rust and practice
- 数据库:postgresql
- 类ORM:sqlx
- 缓存:redis
- Web框架:actix-web
- JSON处理:serde
- 时间处理:chrono
- 日志:tracing
- 参数校验:validator
- Http请求:reqwest
- 错误处理:thiserror
- 部署:docker-compose
- 安装Docker、Rust,注意把镜像/依赖源配置为国内环境
- 安装sqlx-cli: 在命令行执行
cargo install sqlx-cli - 启动docker: 在命令行执行
docker compose up - 生成数据库表: 在命令行执行
sqlx migrate run - 以上按顺序执行成功后,在浏览器输入
http://localhost:8000,如果能看到Welcome to our newsletter!即代表项目启动成功!
数据库用户名为postgres,密码为password
网站管理员为admin,密码为123456
| No | 请求方法 | 路径 | 含义 |
|---|---|---|---|
| 1 | GET | / | 主页,如果项目成功启动,主页会显示Welcome to our newsletter! |
| 2 | GET | /health_check | 接口检查,如果前后端接口畅通,该接口应返回状态200 |
| 3 | GET | /login | 加载登录页面 |
| 4 | POST | /login | 登录 |
| 5 | GET | /admin/dashboard | 登录成功后跳转到仪表盘页面 |
| 6 | GET | /admin/password | 加载修改密码页面 |
| 7 | POST | /admin/password | 修改密码 |
| 8 | GET | /admin/newsletter | 加载发布页面 |
| 9 | POST | /admin/newsletter | 发布 |
| 10 | POST | /subscriptions | 订阅 |
| 11 | GET | /subscriptions/confirm | 确认订阅 |
| 12 | POST | /admin/logout | 退出 |