37 lines
1.2 KiB
Markdown
37 lines
1.2 KiB
Markdown
# Project Overview: @push.rocks/smartdata
|
|
|
|
## Purpose
|
|
An advanced TypeScript-first MongoDB wrapper library providing enterprise-grade features for distributed systems, real-time data synchronization, and easy data management.
|
|
|
|
## Tech Stack
|
|
- **Language**: TypeScript (ES2022 target)
|
|
- **Runtime**: Node.js >= 16.x
|
|
- **Database**: MongoDB >= 4.4
|
|
- **Build System**: tsbuild
|
|
- **Test Framework**: tstest with tapbundle
|
|
- **Package Manager**: pnpm (v10.7.0)
|
|
- **Module System**: ESM (ES Modules)
|
|
|
|
## Key Features
|
|
- Type-safe MongoDB integration with decorators
|
|
- Document management with automatic timestamps
|
|
- EasyStore for key-value storage
|
|
- Distributed coordination with leader election
|
|
- Real-time data sync with RxJS watchers
|
|
- Deep query type safety
|
|
- Enhanced cursor API
|
|
- Powerful search capabilities
|
|
|
|
## Project Structure
|
|
- **ts/**: Main TypeScript source code
|
|
- Core classes for DB, Collections, Documents, Cursors
|
|
- Distributed coordinator, EasyStore, Watchers
|
|
- Lucene adapter for search functionality
|
|
- **test/**: Test files using tstest framework
|
|
- **dist_ts/**: Compiled JavaScript output
|
|
|
|
## Key Dependencies
|
|
- MongoDB driver (v6.18.0)
|
|
- @push.rocks ecosystem packages
|
|
- @tsclass/tsclass for decorators
|
|
- RxJS for reactive programming |