atlasserver 0.3.0

Atlas is a rust library for the purpose of composing REST APIs out of re-usable and extensible modules, specifically with supporting the networking needs of online gaming services in mind.
[![crates][s1]][l1]
![ci][s2]

[s1]: https://img.shields.io/crates/v/atlasserver.svg
[l1]: https://crates.io/crates/atlasserver
[s2]: https://github.com/gameroasters/atlas/workflows/CI/badge.svg

# atlas

`atlasserver` is a rust library for the purpose of composing REST APIs out of re-usable and extensible modules, specifically with supporting the networking needs of online gaming services in mind.

## How it works

Structs which implement the `CustomModule` trait are joined by an object which implements the `CustomServer` trait, which dispatches the warp filters defined within the modules. `CustomModule`s can work on data through the use of "resources", which are arbitrary types that are stored in an [HList](https://docs.rs/hlist/0.1.2/hlist/).

See the examples in the repo for more details.

## Features

* modular/extendable
* supports JSON/Protobuf payloads
* data storage for dynamodb (can be exchanged)

Endpoints:

* User Registration
* User Login (+ session validation)