53 lines
2.0 KiB
Markdown
53 lines
2.0 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 (deployment, 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° (hosted or manual), [CockroachDB](https://www.cockroachlabs.com/product/)
|
|
* File storage: S3 or S3-compatible object storage (e.g. [MinIO](https://github.com/minio/minio))°, traditional filesystem
|
|
|
|
*° preferred options*
|
|
|
|
## Database schema (WIP)
|
|
|
|
[![(database schema image)](schema.png)](schema.png)
|
|
|
|
(click for full size)
|
|
|
|
## Source code and contributing
|
|
|
|
Contributions in the form of issues (bug reports or feature requests) or pull requests on our repos are very welcome.
|
|
|
|
We also have an official development IRC channel: [#luckybooru](ircs://irc.fuwafuwa.moe/#luckybooru) on [irc.fuwafuwa.moe](https://irc.fuwafuwa.moe).
|
|
|
|
* Main repo: [luckybooru](https://git.fuwafuwa.moe/lesderid/luckybooru)
|
|
* Design documents (this page, database schema): [luckybooru_info](https://git.fuwafuwa.moe/lesderid/luckybooru_info)
|
|
|
|
All repos are licensed under the [University of Illinois/NCSA Open Source License](LICENSE.html).
|