# Raxx.Kit

**Get started with [Raxx]([Ace](**

$ mix archive.install hex raxx_kit
$ mix my_app

### Options

- `--api`: Creates a JSON API project, instead of HTML pages.  

- `--ecto`: Adds Ecto as a dependency and configures project to use
  a Postgres database. If used with `--docker` flag, a docker-compose service
  with the database will get generated.

- `--node-assets`: Add JavaScript compilation as part of a generated project.
  Works with or without docker.

- `--docker`: Create `Dockerfile` and `docker-compose.yml` in template.
  This allows local development to be conducted completly in docker.

- `--module`: Used to name the top level module used in the generated project.
  Without this option the module name will be generated from path option.

  $ mix my_app

  # Is equivalent to
  $ mix my_app --module MyApp

- `--no-exsync`: Doesn't include exsync in the generated project. Changed
  files won't be rebuilt on the fly when the app is running.

### Next

- [Check Raxx documentation on hexdocs](
- [Join Raxx discussion on slack](

### Features

- Isolated web layer with [Raxx](
- HTTP/2 support with [Ace]( server
- Middleware for request logging and static content
- Sessions and flash messages
- Safe HTML templating
- [Ecto 3.0]( and PostgreSQL integration
- Controller unit tests
- Code reloading with [ExSync](

[Tutorial for building a distributed chatroom with Raxx.Kit](