# Based
Based is a micro framework providing web dev primitives.

## Features
- User Auth
- PostgresDB Connection
- Logging
- Request Contexts
- Templates (Shell)

## User Auth
To use the user auth feature, make sure a migration has added [these tables](src/auth/auth.sql) to your PostgresDB:

## HTMX
Based has a route for serving HTMX at `based::htmx::htmx_script_route` which you can include in your rocket `routes!`. The HTMX script will be available at `/assets/htmx.min.js`.

Additionally you can check if a requests originates from HTMX:

```rs
#[get("/")]
pub async fn index(ctx: RequestContext) -> StringRespopnse {
    if ctx.is_htmx {
        ...
    } else {
        ...
    }
}
```