starchart/docs/ARCHITECTURE.md

932 B

Architecture

Starchart is designed with maximum flexibility in mind and so it is highly extensible. Support for new forges, federation formats and databases can be implemented with ease and this document intends to document how to do just that.

  1. db-core: Contains traits(Rust-speak for interfaces) to implement support for new databases. Support for SQLite via sqlx is implemented in db-sqlx-sqlite

  2. forge-core: Contains traits for implementing spidering support for a new forge type. Support for Gitea is implemented in gitea.

  3. federation-core: Contains traits to implement support for new federation file formats. Support for publiccodeyml is implemented in publiccodeyml.