Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

Rust GraphQL Template 🏗️

License

NotificationsYou must be signed in to change notification settings

azzamsa/tin

Repository files navigation


Rust GraphQL Template 🏗️

Build status

Features

  • Async-GraphQL: GraphQL server library.
    • Supports Relay-compatible cursor-based pagination.
    • Automatically disables Playground in the production environment for performance reasons.
    • Automatically stores GraphQL schema to file.
  • SQLx: SQL toolkit.
  • Axum: web framework.
  • Tracing: includes local timestamps.
  • Frunk: avoids writing repetitive boilerplate.
  • utoipa: automatically generates OpenAPI documentation.
  • git-cliff: Changelog Generator.
  • Includes exhaustive integration tests.
    • UsesCynic as GraphQL client.
    • UsesHurl for API collection.
  • Utilizes fast and tiny image containers, leveragingcargo-chef andscratch ordistroless images.
  • Implements GitHub Actions for CI and release workflows.
  • Removed Git hooks for continuous development (formatting, linting, testing)commit link.
  • Ensures consistent formatting usingdprint for non-Rust files (Markdown, Dockerfiles, etc.).
  • Supportscargo-binstall.
  • Includescargo-release workflow.

Checklist

When you use this template, try to follow the checklist to update your info properly

  • Change the author name inLICENSE
  • Change the package info inCargo.toml
  • Change the application name:
    • Database name and other values in.env,.example.env, and other container related files.
    • The OpenAPI info inroutes.rs
    • App name inrelease.yml
    • Project URL incliff.toml
    • App name in the import statements across Rust source and tests files.
  • Clean up the READMEs and remove routes

And, enjoy :)

Usage

$# Clone the repository$# Run the database$ podman-compose -f compose.local.yml up db -d$ touch$SCHEMA_LOCATION# See .example.env$ just dev# See also `just setup`

Go to the playgroundhttp://127.0.0.1:8000/playground to see the schema.

Navigating the Code

All the features can be found in theCHANGELOG file tagged withfeat.The file only contains user-facing changes, so you won't get lost navigating the code.

Credits

  • Clean and Scalable Architecture for Web Applications in Rust by Sylvain Kerkour.Article,Code.
  • Icons and emoji fromNoto Emoji

[8]ページ先頭

©2009-2025 Movatter.jp