summaryrefslogtreecommitdiffstats
path: root/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'README.md')
-rw-r--r--README.md35
1 files changed, 30 insertions, 5 deletions
diff --git a/README.md b/README.md
index 28664b86..239e69a2 100644
--- a/README.md
+++ b/README.md
@@ -11,13 +11,38 @@
The [RFC](./farcat-rfc.md) is the original design document, and the best place
to start for background.
-There will be three main components:
+There are four main components:
- backend API server and database
-- front-end web interface (built on API)
-- client libraries and bots
+- elasticsearch index
+- API client libraries and bots (eg, ingesters)
+- front-end web interface (built on API and library)
The API server was prototyped in python. "Real" implementation started in
golang, but shifted to Rust, and is work-in-progress. The beginings of a client
-library and data ingesters exist in python (may or may not be re-written in
-Rust).
+library, web interface, and data ingesters exist in python. Elasticsearch index
+is currently just a Crossref metadata dump and doesn't match entities in the
+database/API (but is useful for paper lookups).
+
+## Status
+
+- HTTP API
+ - [ ] base32 encoding of UUID identifiers
+ - [x] inverse many-to-many helpers (files-by-release, release-by-creator)
+- SQL Schema
+ - [x] Basic entities
+ - [x] one-to-many and many-to-many entities
+ - [x] JSON(B) "extra" metadata fields
+ - [x] full rev1 schema for all entities
+ - [ ] editgroup review: comments? actions?
+- Web Interface
+ - [x] Migrate Python codebase
+ - [ ] Creation and editing of all entities
+- Other
+ - [x] Basic logging
+ - [x] Swagger-UI
+ - [ ] Sentry (error reporting)
+ - [ ] Metrics
+ - [ ] Authentication (eg, accounts, OAuth2, JWT)
+ - [ ] Authorization (aka, roles)
+ - [ ] bot vs. editor