# 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