https://github.com/rustworthy/realworld-axum-react
Full-stack RealWorld spec implementation with Axum and React
https://github.com/rustworthy/realworld-axum-react
axum fantoccini postgresql react redux sqlx utopia
Last synced: 8 months ago
JSON representation
Full-stack RealWorld spec implementation with Axum and React
- Host: GitHub
- URL: https://github.com/rustworthy/realworld-axum-react
- Owner: rustworthy
- Created: 2025-06-19T18:02:27.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-10-04T12:53:22.000Z (9 months ago)
- Last Synced: 2025-10-04T13:12:39.191Z (9 months ago)
- Topics: axum, fantoccini, postgresql, react, redux, sqlx, utopia
- Language: Rust
- Homepage:
- Size: 1.69 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# RealWorld Example App
[](https://github.com/rustworthy/realworld-axum-react/actions/workflows/frontend.yaml)
[](https://github.com/rustworthy/realworld-axum-react/actions/workflows/backend.yaml)
This codebase demonstrates a full-stack implementation [RealWorld] specification
with `Rust` and `TypeScript`.
## Technologies
### Backend
- **[Axum]** - Modern async (`Tokio`) web framework for Rust
- **[Utoipa]** - Generated OpenAPI docs
- **[SQLx]** - Async SQL toolkit with compile-time checked queries
- **[OpenTelemetry]** - Observability and tracing
- **[PostgreSQL]** - Primary database
- **[Kamal]** - Zero-downtime deployments
### Frontend
- **[React]** 19.x with hooks and modern patterns
- **[Redux Toolkit]** - State management with RTK Query for API calls
- **[RTK Codegen OpenAPI]** - Hooks generation from OpenAPI docs
- **[React Hook Form]** - Form handling with Zod validation
- **[Webpack]** - Module bundler and dev server
- **[Kamal]** - Zero-downtime deployments
### E2E Testing
- **[Testcontainers]** - Integration testing with real databases
- **[Fantoccini]** - Browser automation
- **[Chromedriver]** - WebDriver implemenation for `Chrome` browser
## Contributing
Contributions are _very_ welcome. Please find setup instructions for our frontend
and backend in corresponding directories.
## License
Licensed under either of [Apache License, Version 2.0][apache] or [MIT license][mit] at your option.
[RealWorld]: https://github.com/gothinkster/realworld
[Axum]: https://github.com/tokio-rs/axum
[Utoipa]: https://github.com/juhaku/utoipa
[PostgreSQL]: https://www.postgresql.org/
[SQLx]: https://github.com/launchbadge/sqlx
[OpenTelemetry]: https://opentelemetry.io/
[Kamal]: https://kamal-deploy.org/
[React]: https://reactjs.org/
[Redux Toolkit]: https://redux-toolkit.js.org/
[RTK Codegen OpenAPI]: https://redux-toolkit.js.org/rtk-query/usage/code-generation
[React Hook Form]: https://react-hook-form.com/
[Webpack]: https://webpack.js.org/
[Testcontainers]: https://testcontainers.com/
[Fantoccini]: https://github.com/jonhoo/fantoccini
[Chromedriver]: https://developer.chrome.com/docs/chromedriver/downloads
[apache]: https://www.apache.org/licenses/LICENSE-2.0
[mit]: https://opensource.org/licenses/MIT