Current features are described in detail in the user manual. They include:
- Asynchronous persistence API using Scala futures and Akka streams.
Cassandra, MongoDB, SQLite, and in-memory back ends.
- Supports flexible construction of your domain model using standard Scala types such as case classes, options, sets and lists.
- Compile-time DSL to express keys, queries, and indexes.
- User control of sharding/partitioning.
- Polymorphic traits and controlled vocabularies.
Boilerplate-free description of your domain model.
- Pre-built repositories with simple, reactive APIs.
- Configuration-level optimistic locking.
- Pre-built integration tests that exercise your repositories against a real database.
- Fully featured in-memory repositories for use in other integration testing.
- Test data generation.
The current high-priority features are:
- Support more streaming libraries for queries.
- Free monad wrapper around the repository API.
- First-class support for optional values.
- Schema migration framework.
For more information, please see the story board. Tickets are roughly ordered in order of current priority.