Kaj Kowalski 38aff21c3a fix: comprehensive security and type improvements from PR #20 review
Security Enhancements:
- Implemented proper rate limiting with automatic cleanup for /register and /forgot-password endpoints
- Added memory usage protection with MAX_ENTRIES limit (10000)
- Fixed rate limiter memory leaks by adding cleanup intervals
- Improved IP extraction with x-real-ip and x-client-ip header support

Code Quality Improvements:
- Refactored ProcessingStatusManager from individual functions to class-based architecture
- Maintained backward compatibility with singleton instance pattern
- Fixed TypeScript strict mode violations across the codebase
- Resolved all build errors and type mismatches

UI Component Fixes:
- Removed unused chart components (Charts.tsx, DonutChart.tsx)
- Fixed calendar component type issues by removing unused custom implementations
- Resolved theme provider type imports
- Fixed confetti component default options handling
- Corrected pointer component coordinate type definitions

Type System Improvements:
- Extended NextAuth types to support dual auth systems (regular and platform users)
- Fixed nullable type handling throughout the codebase
- Resolved Prisma JSON field type compatibility issues
- Corrected SessionMessage and ImportRecord interface definitions
- Fixed ES2015 iteration compatibility issues

Database & Performance:
- Updated database pool configuration for Prisma adapter compatibility
- Fixed pagination response structure in user management endpoints
- Improved error handling with proper error class usage

Testing & Build:
- All TypeScript compilation errors resolved
- ESLint warnings remain but no errors
- Build completes successfully with proper static generation
2025-06-30 19:15:25 +02:00

LiveDash-Node

A real-time analytics dashboard for monitoring user sessions and interactions with interactive data visualizations and detailed metrics.

Next.js React TypeScript Prisma TailwindCSS

Features

  • Real-time Session Monitoring: Track and analyze user sessions as they happen
  • Interactive Visualizations: Geographic maps, response time distributions, and more
  • Advanced Analytics: Detailed metrics and insights about user behavior
  • User Management: Secure authentication with role-based access control
  • Customizable Dashboard: Filter and sort data based on your specific needs
  • Session Details: In-depth analysis of individual user sessions

Tech Stack

  • Frontend: React 19, Next.js 15, TailwindCSS 4
  • Backend: Next.js API Routes, Node.js
  • Database: Prisma ORM with SQLite (default), compatible with PostgreSQL
  • Authentication: NextAuth.js
  • Visualization: Chart.js, D3.js, React Leaflet
  • Data Processing: Node-cron for scheduled tasks

Getting Started

Prerequisites

  • Node.js (LTS version recommended)
  • pnpm (recommended package manager)

Installation

  1. Clone this repository:
git clone https://github.com/kjanat/livedash-node.git
cd livedash-node
  1. Install dependencies:
pnpm install
  1. Set up the database:
pnpm run prisma:generate
pnpm run prisma:migrate
pnpm run prisma:seed
  1. Start the development server:
pnpm run dev
  1. Open your browser and navigate to http://localhost:3000

Environment Setup

Create a .env file in the root directory with the following variables:

DATABASE_URL="file:./dev.db"
NEXTAUTH_URL=http://localhost:3000
NEXTAUTH_SECRET=your-secret-here

Project Structure

  • app/: Next.js App Router components and pages
  • components/: Reusable React components
  • lib/: Utility functions and shared code
  • pages/: API routes and server-side code
  • prisma/: Database schema and migrations
  • public/: Static assets
  • docs/: Project documentation

Available Scripts

  • pnpm run dev: Start the development server
  • pnpm run build: Build the application for production
  • pnpm run start: Run the production build
  • pnpm run lint: Run ESLint
  • pnpm run format: Format code with Prettier
  • pnpm run prisma:studio: Open Prisma Studio to view database

Contributing

  1. Fork the repository
  2. Create your feature branch: git checkout -b feature/my-new-feature
  3. Commit your changes: git commit -am 'Add some feature'
  4. Push to the branch: git push origin feature/my-new-feature
  5. Submit a pull request

License

This project is not licensed for commercial use without explicit permission. Free to use for educational or personal projects.

Acknowledgments

Description
LiveDash-Node: A real-time analytics dashboard for monitoring user sessions and interactions with interactive data visualizations and detailed metrics.
https://test123.kjanat.com Readme 4.5 MiB
Languages
TypeScript 98.5%
CSS 0.8%
JavaScript 0.7%