A modular database abstraction framework for Java. Celery unifies access to multiple database backends behind a consistent, extensible API — one interface for storage, pub/sub messaging, and caching across MongoDB, Redis, InfluxDB, NATS, and S3.
Celery decouples application code from database implementations. You define entities with annotations, query through a typed query API, and let Celery route operations to the right backend. Switch databases or mix backends without rewriting business logic.
| Backend | Storage | Pub/Sub | Cache |
|---|---|---|---|
| MongoDB | ✓ | ||
| Redis | ✓ | ✓ | |
| Redis Cluster | ✓ | ✓ | |
| InfluxDB | ✓ | ||
| NATS | ✓ | ||
| S3 | ✓ |
celery-api/ # Public interfaces and annotations
celery/ # Main entry point (Celery builder, platform wiring)
celery-platform/ # Backend implementations (each platform is a submodule)
shared/ # Shared utilities (Result<T,E>, Timer, DI)
testing/ # Integration test suite
./gradlew build