Skip to content

Commit

Permalink
docs: Add features list outline (#433)
Browse files Browse the repository at this point in the history
  • Loading branch information
spencewenski authored Oct 15, 2024
1 parent 6e25ca3 commit 473e5aa
Show file tree
Hide file tree
Showing 42 changed files with 73 additions and 25 deletions.
47 changes: 35 additions & 12 deletions book/src/SUMMARY.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,38 @@
# Summary

[Introduction](ch-00-introduction.md)
[Introduction](introduction.md)

- [Web framework comparisons](ch-01-00-comparisons.md)
- [Roadster vs. Axum](ch-01-01-comparisons-axum.md)
- [Roadster vs. Actix](ch-01-02-comparisons-actix.md)
- [Getting started](ch-02-00-getting-started.md)
- [Roadster features](ch-03-00-features.md)
- [HTTP Service with Axum](ch-03-01-features-http.md)
- [Axum middleware](ch-03-02-features-middleware.md)
- [Axum state](ch-03-03-features-app-state.md)
- [OpenAPI with Aide](ch-03-04-features-openapi.md)
- [Tracing](ch-03-05-features-tracing.md)
- [Configuration](ch-03-06-features-configuration.md)
- [Web framework comparisons](comparisons/index.md)
- [Roadster vs. Loco](comparisons/loco.md)
- [Roadster vs. Poem](comparisons/poem.md)
- [Roadster vs. Axum](comparisons/axum.md)
- [Roadster vs. Actix](comparisons/actix.md)
- [Roadster vs. Leptos](comparisons/leptos.md)
- [Getting started](getting-started/index.md)
- [Roadster features](features/index.md)
- [Configuration](features/configuration.md)
- [App context](features/app-context.md)
- [Database](features/database/index.md)
- [User SQL migrations](features/database/user.md)
- [Utility SQL migrations](features/database/utility-migrations.md)
- [Services](features/services/index.md)
- [HTTP Service with Axum](features/services/http/index.md)
- [Axum State](features/services/http/state.md)
- [Axum Middleware](features/services/http/middleware.md)
- [Initializers](features/services/http/initializer.md)
- [Background jobs](features/services/background-jobs/index.md)
- [Sidekiq](features/services/background-jobs/sidekiq.md)
- [Grpc service with Tonic](features/services/grpc.md)
- [Function service](features/services/function.md)
- [Auth](features/auth/index.md)
- [JWT](features/auth/jwt.md)
- [OpenAPI with Aide](features/open-api.md)
- [Email](features/email/index.md)
- [SMTP](features/email/smtp.md)
- [Sendgrid](features/email/sendgrid.md)
- [Tracing](features/tracing/index.md)
- [OpenTelemetry](features/tracing/otel.md)
- [CLI](features/cli.md)
- [Health checks](features/health.md)
- [Lifecycle hooks](features/lifecycle.md)
- [Testing](features/testing.md)
1 change: 0 additions & 1 deletion book/src/ch-03-01-features-http.md

This file was deleted.

1 change: 0 additions & 1 deletion book/src/ch-03-02-features-middleware.md

This file was deleted.

1 change: 0 additions & 1 deletion book/src/ch-03-03-features-app-state.md

This file was deleted.

1 change: 0 additions & 1 deletion book/src/ch-03-04-features-openapi.md

This file was deleted.

1 change: 0 additions & 1 deletion book/src/ch-03-05-features-tracing.md

This file was deleted.

Empty file.
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Roadster vs. [Actix](https://actix.rs/)
# Roadster vs. [Actix](https://crates.io/crates/actix-web)

As mentioned in [Roadster vs. Axum](ch-01-01-comparisons-axum.md), Roadster uses [Axum](https://crates.io/crates/axum)
As mentioned in [Roadster vs. Axum](axum.md), Roadster uses [Axum](https://crates.io/crates/axum)
to provide an HTTP server, so it's probably more relevant to compare Actix and Axum. A quick internet search can provide
various comparisons, some are included below:

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,16 @@ Roadster actually uses Axum to provide an HTTP server, so anything you can do wi
However, using Roadster has some benefits compared to configuring Axum yourself:

- Roadster registers a collection of common middleware with sensible default configurations. The configurations can also
be customized easily via config files. See [Axum middleware](ch-03-02-features-middleware.md) for more information.
be customized easily via config files. See [Axum middleware](../features/services/http/middleware.md) for more
information.
- Roadster creates an `AppContext` to use as the Axum State that contains all the dependency objects created by
Roadster, such as the DB connection, app config, etc. This can also be extended using
Axum's [FromRef](https://docs.rs/axum/latest/axum/extract/derive.FromRef.html) if you need to provide additional state
to your Axum routes.
See [Axum state](ch-03-03-features-app-state.md) for more
See [Axum state](../features/services/http/state.md) for more
information.
- Roadster supports registering API routes using [Aide](https://crates.io/crates/aide) to enable auto-generating an
OpenAPI schema and playground. See [OpenAPI with Aide](ch-03-04-features-openapi.md) for more information.
OpenAPI schema and playground. See [OpenAPI with Aide](../features/open-api.md) for more information.
- Roadster auto-generates a unique request ID for each request, if one wasn't provided in the request
- Roadster configures the [Tracing](https://crates.io/crates/tracing) crate and enables instrumentation for requests.
See [Tracing](ch-03-05-features-tracing.md) for more information.
See [Tracing](../features/tracing/index.md) for more information.
File renamed without changes.
1 change: 1 addition & 0 deletions book/src/comparisons/leptos.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Roadster vs. [Leptos](https://crates.io/crates/leptos)
1 change: 1 addition & 0 deletions book/src/comparisons/loco.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Roadster vs. [Loco](https://crates.io/crates/loco-rs)
1 change: 1 addition & 0 deletions book/src/comparisons/poem.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Roadster vs. [Poem](https://crates.io/crates/poem)
1 change: 1 addition & 0 deletions book/src/features/app-context.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# App context
1 change: 1 addition & 0 deletions book/src/features/auth/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Auth
1 change: 1 addition & 0 deletions book/src/features/auth/jwt.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# JWT
1 change: 1 addition & 0 deletions book/src/features/cli.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# CLI
1 change: 1 addition & 0 deletions book/src/features/configuration.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Configuration
1 change: 1 addition & 0 deletions book/src/features/database/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Database
1 change: 1 addition & 0 deletions book/src/features/database/user.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# User SQL migrations
1 change: 1 addition & 0 deletions book/src/features/database/utility-migrations.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Utility SQL migrations
1 change: 1 addition & 0 deletions book/src/features/email/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Email
1 change: 1 addition & 0 deletions book/src/features/email/sendgrid.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Sendgrid
1 change: 1 addition & 0 deletions book/src/features/email/smtp.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# SMTP
1 change: 1 addition & 0 deletions book/src/features/health.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Health checks
File renamed without changes.
1 change: 1 addition & 0 deletions book/src/features/lifecycle.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Lifecycle hooks
1 change: 1 addition & 0 deletions book/src/features/open-api.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# OpenAPI with [Aide](https://crates.io/crates/aide)
1 change: 1 addition & 0 deletions book/src/features/services/background-jobs/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Background jobs
1 change: 1 addition & 0 deletions book/src/features/services/background-jobs/sidekiq.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Background jobs with [Sidekiq.rs](https://crates.io/crates/rusty-sidekiq)
1 change: 1 addition & 0 deletions book/src/features/services/function.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Function service
1 change: 1 addition & 0 deletions book/src/features/services/grpc.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Grpc service with [Tonic](https://crates.io/crates/tonic)
1 change: 1 addition & 0 deletions book/src/features/services/http/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# HTTP Service with [Axum](https://crates.io/crates/axum)
1 change: 1 addition & 0 deletions book/src/features/services/http/initializer.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Initializers
1 change: 1 addition & 0 deletions book/src/features/services/http/middleware.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Axum Middleware
1 change: 1 addition & 0 deletions book/src/features/services/http/state.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Axum State
1 change: 1 addition & 0 deletions book/src/features/services/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Services
1 change: 1 addition & 0 deletions book/src/features/testing.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Testing
1 change: 1 addition & 0 deletions book/src/features/tracing/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Tracing with Tokio's [tracing](https://crates.io/crates/tracing) crate
1 change: 1 addition & 0 deletions book/src/features/tracing/otel.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# OpenTelemetry
File renamed without changes.
4 changes: 2 additions & 2 deletions book/src/ch-00-introduction.md → book/src/introduction.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@ customizable, and pluggable. This allows you to focus on creating your applicati
dependencies, while still allowing you the flexibility to customize your dependencies if needed.

If you're unsure if Roadster is the best fit for your project, a collection of comparisons to other Rust web frameworks
can be found in [Web framework comparisons](ch-01-00-comparisons.md). The full list of Roadster's features can be
found in [Roadster features](ch-03-00-features.md).
can be found in [Web framework comparisons](comparisons/index.md). The full list of Roadster's features can be
found in [Roadster features](features/index.md).

## Prerequisite reading

Expand Down

0 comments on commit 473e5aa

Please sign in to comment.