The Smart Logs Audit System provides comprehensive audit logging capabilities for healthcare applications, ensuring compliance with HIPAA, GDPR, and other regulatory requirements.
- Cryptographic integrity verification with SHA-256 hashing
- HMAC signatures for tamper detection
- GDPR compliance with data classification and retention policies
- Automatic data sanitization to prevent injection attacks
- Guaranteed delivery with reliable event processor
- Circuit breaker pattern for fault tolerance
- Dead letter queue for failed events
- Automatic retry mechanisms with exponential backoff
- Real-time health checks and metrics
- Performance monitoring with latency tracking
- Queue depth monitoring
- Comprehensive error handling and logging
- FHIR resource audit events
- Practitioner license verification tracking
- Patient data access logging
- HIPAA-compliant audit trails
- TypeScript - For type safety and improved developer experience
- TanStack Router - File-based routing with full type safety
- React Native - Build mobile apps using React
- Expo - Tools for React Native development
- TailwindCSS - Utility-first CSS for rapid UI development
- shadcn/ui - Reusable UI components
- Hono - Lightweight, performant server framework
- tRPC - End-to-end type-safe APIs
- Node.js - Runtime environment
- Drizzle - TypeScript-first ORM
- PostgreSQL - Database engine
- Authentication - Email & password authentication with Better Auth
- PWA - Progressive Web App support
- Starlight - Documentation site with Astro
- Tauri - Build native desktop applications
- Turborepo - Optimized monorepo build system
First, install the dependencies:
pnpm install
This project uses PostgreSQL with Drizzle ORM.
-
Make sure you have a PostgreSQL database set up.
-
Update your
apps/server/.env
file with your PostgreSQL connection details. -
Apply the schema to your database:
pnpm db:push
Then, run the development server:
pnpm dev
Open http://localhost:3001 in your browser to see the web application. Use the Expo Go app to run the mobile application. The API is running at http://localhost:3000.
smart-logs/
├── apps/
│ ├── web/ # Frontend application (React + TanStack Router)
│ ├── native/ # Mobile application (React Native, Expo)
│ ├── docs/ # Documentation site (Astro Starlight)
│ └── server/ # Backend API (Hono, TRPC)
│ └── worker/ # Audit worker (BullMQ, Redis, Hono)
pnpm dev
: Start all applications in development modepnpm build
: Build all applicationspnpm dev:web
: Start only the web applicationpnpm dev:server
: Start only the serverpnpm check-types
: Check TypeScript types across all appspnpm dev:native
: Start the React Native/Expo development serverpnpm db:push
: Push schema changes to databasepnpm db:studio
: Open database studio UIcd apps/web && pnpm generate-pwa-assets
: Generate PWA assetscd apps/web && pnpm desktop:dev
: Start Tauri desktop app in developmentcd apps/web && pnpm desktop:build
: Build Tauri desktop appcd apps/docs && pnpm dev
: Start documentation sitecd apps/docs && pnpm build
: Build documentation site