diff --git a/HACKING.md b/docs/HACKING.md similarity index 100% rename from HACKING.md rename to docs/HACKING.md diff --git a/docs/README.md b/docs/README.md index 9d8a072..d1aa4f2 100644 --- a/docs/README.md +++ b/docs/README.md @@ -201,8 +201,11 @@ and design. ## Storage Backends Two storage backends are supported. For convenience, SQLite is the default -backend out of the box but for production deployments you may choose to prefer -PostgreSQL. +backend out of the box but for production deployments, with improved search and +scaling capabilities you may choose to prefer PostgreSQL. Both backends are +considered first-class citizens, and will be developed as such going further. If +your needs for Pinakes are modest, or if you are simply testing it out, SQLite +is the recommended database. ### **SQLite** (default) @@ -211,6 +214,34 @@ guarantees FTS5 availability. ### **PostgreSQL** +[pg_trgm]: https://www.postgresql.org/docs/current/pgtrgm.html + Native async with connection pooling (deadpool-postgres). Uses tsvector with -weighted columns for full-text search and pg_trgm for fuzzy matching. Requires +weighted columns for full-text search and [pg_trgm] for fuzzy matching. Requires the `pg_trgm` extension. + +## Contributing + +[HACKING document]: ./HACKING.md + +Pinakes, despite all the work going into it, is still in an early beta. Some of +the features still lack the polish they deserve and there _may_ be breaking +changes to the UI, databases, and the APIs. You may find a comprehensive +introduction to developing Pinakes in the [HACKING document]. + +It is generally advisable that you familiarize yourself with the codebase before +proposing or contributing changes. Pinakes consists of _many_ moving parts, and +it is better for the contributor experience to approach issues slowly and +discuss them beforehand. + +## License + + + +[here]: https://interoperable-europe.ec.europa.eu/sites/default/files/custom-page/attachment/eupl_v1.2_en.pdf + +This project is made available under European Union Public Licence (EUPL) +version 1.2. See [LICENSE](LICENSE) for more details on the exact conditions. An +online copy is provided [here]. + +