Dramatically simplify full‑stack development
<p align="center">
	<img src="assets/layr-logo-with-icon.svg" width="200" alt="Layr">
	<br>
	<br>
</p>

> Dramatically simplify full‑stack development.

## Documentation

Check out the [documentation](https://layrjs.com/docs) for a quick introduction and a comprehensive API description.

## Roadmap

### Components

- [x] Basic components
- [x] Controlled attributes
- [x] Component provision
- [x] Cross-layer inheritance
- [x] Remote method invocation
- [x] Optimized serialization
- [ ] Weak Identity Map
- [ ] Component subscriptions (realtime updates)
- [ ] HTTP Caching

### Storage

- [x] Basic storage (MongoDB)
- [x] Indexes
  - [x] Identifier attributes
  - [x] Regular attributes
  - [x] Compound attributes
  - [x] Referenced components
  - [x] Embedded components
- [ ] Automatic migrations
  - [x] Indexes
  - [ ] Default values
  - [ ] Renamed components
  - [ ] Renamed attributes
- [ ] Custom migrations
- [ ] Polymorphism
- [ ] Transactions
- [ ] Sugar to query reverse relationships
- [ ] Query subscriptions (realtime updates)
- [ ] Support for more databases (PostgreSQL, MySQL, DynamoDB,...)

### Routing

- [x] Basic routing
- [x] Nested routing

### Authorizations

- [x] Basic authorizations
- [x] Role-based authorizations

### Integrations

- [x] React integration
- [x] Basic AWS integration

## Contributing

Contributions are welcome.

Before contributing please read the [code of conduct](https://github.com/layrjs/layr/blob/master/CODE_OF_CONDUCT.md) and search the [issue tracker](https://github.com/layrjs/layr/issues) to find out if your issue has already been discussed before.

To contribute, [fork this repository](https://docs.github.com/en/github/getting-started-with-github/fork-a-repo/), commit your changes, and [send a pull request](https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/about-pull-requests).

## License

MIT
