luckybooru_info/source/index.md

44 lines
1.5 KiB
Markdown

# luckybooru
luckybooru is a [danbooru](https://danbooru.donmai.us/)-style booru written in Crystal with Lucky.
## Status
luckybooru is in the early design stage.
## Goals and design principles
* Feature parity with danbooru
* Support for various types of media (images, audio, videos, plaintext, Markdown)
* Full support for running in a cluster with live scaling
* All major features should work with no-JS/*noscript* and text browsers
* Fast on the server-side and on the client-side (no Python or Java)
* High configurability (user roles, analytics, danbooru-like premium account tiers)
* RESTful API with JSON output
## Dependencies
* [Crystal](https://crystal-lang.org/)
* [Lucky](https://luckyframework.org)
* [PostgreSQL](https://www.postgresql.org/)
* [Sentry](https://github.com/getsentry/sentry) (with [raven.cr](https://github.com/Sija/raven.cr))
* [Sonic](https://github.com/valeriansaliou/sonic) (?)
## Deployment options
We aim to support a variety of deployment options, including the following:
* Application: Kubernetes (hosted, private cluster), manual Docker deployment, traditional server
* Database: PostgreSQL, [RDS for PostgreSQL](https://aws.amazon.com/rds/postgresql/), [CockroachDB](https://www.cockroachlabs.com/product/)
## Database schema (WIP)
![(database schema image)](schema.png)
## Source code
* Main repo: *to be created*
* This page: [luckybooru_info](https://git.fuwafuwa.moe/lesderid/luckybooru_info)
All repos are licensed under the [University of Illinois/NCSA Open Source License](LICENSE.html).