MCPcopy Index your code
hub / github.com/azzamsa/tin

github.com/azzamsa/tin @v1.2.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.2.0 ↗ · + Follow
153 symbols 224 edges 68 files 10 documented · 7% 2 cross-repo links
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Rust GraphQL Template 🏗️

Build status


Features

  • Async-GraphQL GraphQL server library.
  • Relay-compatible cursor-based pagination.
  • Playground disabled in the production environment for performance reasons.
  • Store GraphQL schema to file automatically.
  • SQLx SQL toolkit.
  • Axum web framework.
  • Tracing with local timestamp.
  • Frunk to avoid writing repetitive boilerplate.
  • utoipa Auto-generated OpenAPI documentation.
  • git-cliff Changelog Generator.
  • Exhaustive Integration tests.
  • Uses Cynic for GraphQL client.
  • Hurl for E2E test.
  • Fast and tiny image container. Using cargo-chef and scratch or distroless image.
  • GitHub Action for CI and release.
  • ~~Git hooks for continuous development (format, lint, test).~~. Removed
  • Consistent formatting using dprint for non Rust files (Markdown, Dockerfiles, Etc).
  • cargo-binstall support.
  • cargo-release workflow.

Checklist

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

  • [ ] Change the author name in LICENSE
  • [ ] Change the package info in Cargo.toml
  • [ ] Change the application name:
  • [ ] Database name and other values in .env, .example.env, and other container related files.
  • [ ] The OpenAPI info in routes.rs
  • [ ] App name in release.yml
  • [ ] Project URL in cliff.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 docker-compose.local.yml up db -d

$ touch $SCHEMA_LOCATION # See .example.env
$ just dev  # See also `just setup`

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

Navigating the Code

All the features can be found in the CHANGELOG file tagged with feat. 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 from Noto Emoji

Extension points exported contracts — how you extend this code

Queryer (Interface)
(no doc) [1 implementers]
src/db/mod.rs

Core symbols most depended-on inside this repo

app
called by 17
src/route.rs
teardown
called by 8
tests/user/main.rs
fake_user
called by 7
tests/user/main.rs
encode
called by 4
src/relay/mod.rs
create_users
called by 4
tests/user/relay.rs
env_not_found
called by 3
src/config.rs
check_username_exists
called by 2
src/domain/user/service/check_username_exists.rs
find_all_users
called by 2
src/domain/user/repository/find_all_users.rs

Shape

Class 67
Method 50
Function 30
Enum 5
Interface 1

Languages

Rust100%

Modules by API surface

tests/user/graphql.rs12 symbols
tests/user/schema.rs11 symbols
src/config.rs9 symbols
src/relay/mod.rs7 symbols
src/domain/user/resolver.rs7 symbols
src/domain/user/model/mod.rs7 symbols
tests/user/relay.rs5 symbols
src/route.rs4 symbols
src/driver/mailer/mod.rs4 symbols
src/domain/user/service/mod.rs4 symbols
src/domain/user/entities.rs4 symbols
src/domain/user/repository/mod.rs3 symbols

Used by 2 indexed graphs manifest dependencies, hub-wide

Datastores touched

tinDatabase · 1 repos

For agents

$ claude mcp add tin \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact