Skip to main content

nexus_common/
lib.rs

1//! # Nexus Common
2//!
3//! The `nexus-common` crate provides the core shared utilities and data models for the Nexus stack.
4//!
5//! It is responsible for:
6//! - **Configuration Management:** Loading configuration from TOML files via a trait-based loader.
7//! - **Database Connectivity:** Providing connectors and helper functions for interacting with Neo4j and Redis.
8//! - **Media Processing:** Implementing image and video processors to generate different file variants.
9//! - **Data Models:** Defining common models for files, users, posts, tags, notifications, and follow relationships.
10//! - **Indexing and Caching:** Offering utilities for indexing data in Redis and retrieving it using cache-first strategies.
11//! - **Shared Types and Traits:** Exposing common types (e.g. pagination, timeframe, stream sorting) and traits
12//!   used throughout the Nexus stack.
13//!
14//! This crate forms the foundation for other Nexus services, ensuring consistency and reuse across the backend.
15
16mod config;
17pub mod db;
18pub mod media;
19pub mod models;
20mod stack;
21pub mod types;
22
23pub use config::*;
24pub use stack::*;