4 releases
0.3.0 | May 6, 2023 |
---|---|
0.2.2 | Feb 19, 2023 |
0.2.1 | May 15, 2022 |
0.2.0 | May 15, 2022 |
#1165 in Database interfaces
42 downloads per month
93KB
2.5K
SLoC
Instrumentality facilitates the aggregation of data from any source into a single database under a common set of schemas.
Thesis.
Data should belong to people and those they choose to share it with. The order in which posts are presented should be changed from reverse chronological order (i.e. latest first) only when the user expressly wishes to do so.
Documentation.
For server administrators: https://docs.berserksystems.com/.
For developers: https://docs.rs/instrumentality/.
Download.
See https://github.com/berserksystems/instrumentality/releases/.
Architecture.
This is an Axum web server that reads and writes data to MongoDB. Users register with the platform and create subjects. Subjects can be organised into groups. Data is about subjects and is continuous, discrete or metadata.
Licence.
This program is licenced under version 3 of the 'GNU Affero General Public
License'. See LICENCE
for a copy of this licence.
Features.
- Abstraction over common data: content, presence, metadata.
- Abstraction over people and organisations: group and subjects.
- Full TLS support.
- Basic authentication through API keys.
- Registration through referral.
- Basic data verification.
- Queue system for prioritising jobs.
Roadmap.
Ecosystem.
- Provider clients: Python, Rust.
- Consumer clients: Web frontend.
Features.
- Performance profiling and load testing.
- Migrate to PostgreSQL.
- Configuration file updating workflow.
- Hot and cold
/queue
. -
/leaderboard
. - Enhanced
/view
query syntax. - Webhooks.
- Analytics.
- Admin tooling.
- Byzantine consensus.
Dependencies
~33–47MB
~869K SLoC