Commit Graph
28 Commits
Author SHA1 Message Date
Max Kowalski 5b22c0f1f8 fix: update gradient classes to use linear gradients for consistency 2025-06-28 00:26:22 +02:00
Max Kowalski 1be9ce9dd9 Remove Tailwind CSS configuration file 2025-06-28 00:23:23 +02:00
Max Kowalski a6632d6dfc fix: escape quotes in initial message display for proper rendering 2025-06-27 23:38:05 +02:00
Max Kowalski 043aa03534 style: remove unnecessary whitespace in multiple files for cleaner code 2025-06-27 23:32:09 +02:00
Max Kowalski 7e59567f73 feat: update session processing logic to align with new schema and enhance error handling 2025-06-27 23:28:59 +02:00
Max Kowalski 9238c9a6af feat: update session metrics and processing to use enums for sentiment and streamline status tracking 2025-06-27 23:23:09 +02:00
Max Kowalski 8ffd5a7a2c feat: refactor session processing pipeline to implement multi-stage tracking and enhance error handling 2025-06-27 23:12:04 +02:00
Max Kowalski 2dfc49f840 DB refactor 2025-06-27 23:05:46 +02:00
Max Kowalski 185bb6da58 Migrate database from SQLite to PostgreSQL
- Replace SQLite with PostgreSQL using Neon as provider
- Add environment-based database URL configuration
- Create separate test database setup with DATABASE_URL_TEST
- Reset migration history and generate fresh PostgreSQL schema
- Add comprehensive migration documentation
- Include database unit tests for connection validation
2025-06-27 21:25:48 +02:00
Max Kowalski 6f9ac219c2 feat: Refactor data processing pipeline with AI cost tracking and enhanced session management
- Updated environment configuration to include Postgres database settings.
- Enhanced import processing to minimize field copying and rely on AI for analysis.
- Implemented detailed AI processing request tracking, including token usage and costs.
- Added new models for Question and SessionQuestion to manage user inquiries separately.
- Improved session processing scheduler with AI cost reporting functionality.
- Created a test script to validate the refactored pipeline and display processing statistics.
- Updated Prisma schema and migration files to reflect new database structure and relationships.
2025-06-27 21:15:44 +02:00
Max Kowalski 601e2e4026 feat: enhance environment variable parsing to handle quotes, comments, and whitespace; add transcript parsing utility for structured message extraction 2025-06-27 20:02:16 +02:00
Max Kowalski 9a3741cd01 feat: enhance date parsing in import processor to handle European format and improve error handling 2025-06-27 19:41:54 +02:00
Max Kowalski f3f63943a8 feat: update .env.local.example to use quotes for environment variables
chore: add @vitest/coverage-v8 dependency to package.json

chore: update pnpm-lock.yaml with new dependencies and versions

test: enhance env.test.ts to validate environment variable handling and defaults
2025-06-27 19:27:09 +02:00
Max Kowalski 49a75f5ede Migrate tests from Jest to Vitest, updating setup and test files accordingly.
- Replace Jest imports and mocks with Vitest equivalents in setup and unit tests.
- Adjust test cases to use async imports and reset modules with Vitest.
- Add Vitest configuration file for test environment setup and coverage reporting.
2025-06-27 19:14:05 +02:00
Max Kowalski 5c1ced5900 feat: add rawTranscriptContent field to SessionImport model
feat: enhance server initialization with environment validation and import processing scheduler

test: add Jest setup for unit tests and mock console methods

test: implement unit tests for environment management and validation

test: create unit tests for transcript fetcher functionality
2025-06-27 19:00:22 +02:00
Max Kowalski 50b230aa9b feat: Implement configurable scheduler settings and enhance CSV import functionality 2025-06-27 16:55:25 +02:00
Max Kowalski 1dd618b666 Refactor transcript fetching and processing scripts
- Introduced a new function `fetchTranscriptContent` to handle fetching transcripts with optional authentication.
- Enhanced error handling and logging for transcript fetching.
- Updated the `parseTranscriptToMessages` function to improve message parsing logic.
- Replaced the old session processing logic with a new approach that utilizes `SessionImport` records.
- Removed obsolete scripts related to manual triggers and whitespace fixing.
- Updated the server initialization to remove direct server handling, transitioning to a more modular approach.
- Improved overall code structure and readability across various scripts.
2025-06-27 16:38:16 +02:00
Max Kowalski d7ac0ba208 feat: Refactor database schema to enhance relationships and data types for Company, User, Session, and Message models 2025-06-27 16:10:33 +02:00
Max Kowalski ab2c75b736 feat: Add additional country coordinates for improved geographic mapping 2025-06-26 19:32:53 +02:00
Max Kowalski 8c43a35632 feat: Enhance session processing and metrics
- Updated session processing commands in documentation for clarity.
- Removed transcript content fetching from session processing, allowing on-demand retrieval.
- Improved session metrics calculations and added new metrics for dashboard.
- Refactored processing scheduler to handle sessions in parallel with concurrency limits.
- Added manual trigger API for processing unprocessed sessions with admin checks.
- Implemented scripts for fetching and parsing transcripts, checking transcript content, and testing processing status.
- Updated Prisma schema to enforce default values for processed sessions.
- Added error handling and logging improvements throughout the processing workflow.
2025-06-26 17:12:42 +02:00
Max Kowalski 8f3c1e0f7c feat: Enhance dashboard metrics with new calculations and add Top Questions Chart component 2025-06-26 12:04:51 +02:00
Max Kowalski 0e5ac69d45 feat: Add DateRangePicker component and integrate date range filtering in metrics fetching 2025-06-26 11:42:01 +02:00
Max Kowalski f964d6a078 feat: Update session endTime based on the latest message timestamp during message storage 2025-06-26 11:12:06 +02:00
Max Kowalski 944431fea3 feat: Load environment variables from .env.local and update session processing logic 2025-06-26 10:57:05 +02:00
Max Kowalski 1afe15df85 feat: Add prisma:push script and remove obsolete migration files 2025-06-25 17:50:55 +02:00
Max Kowalski 9e095e1a43 Refactor code for improved readability and consistency
- Updated formatting in SessionDetails component for better readability.
- Enhanced documentation in scheduler-fixes.md to clarify issues and solutions.
- Improved error handling and logging in csvFetcher.js and processingScheduler.js.
- Standardized code formatting across various scripts and components for consistency.
- Added validation checks for CSV URLs and transcript content to prevent processing errors.
- Enhanced logging messages for better tracking of processing status and errors.
2025-06-25 17:46:23 +02:00
Max Kowalski a9e4145001 feat: Implement structured message parsing and display in MessageViewer component
- Added MessageViewer component to display parsed messages in a chat-like format.
- Introduced new Message table in the database to store individual messages with timestamps, roles, and content.
- Updated Session model to include a relation to parsed messages.
- Created transcript parsing logic to convert raw transcripts into structured messages.
- Enhanced processing scheduler to handle sessions with parsed messages.
- Updated API endpoints to return parsed messages alongside session details.
- Added manual trigger commands for session refresh, transcript parsing, and processing.
- Improved user experience with color-coded message roles and timestamps in the UI.
- Documented the new scheduler workflow and transcript parsing implementation.
2025-06-25 17:45:08 +02:00
Max Kowalski 3196dabdf2 feat: Implement session processing and refresh schedulers
- Added processingScheduler.js and processingScheduler.ts to handle session transcript processing using OpenAI API.
- Implemented a new scheduler (scheduler.js and schedulers.ts) for refreshing sessions every 15 minutes.
- Updated Prisma migrations to add new fields for processed sessions, including questions, sentimentCategory, and summary.
- Created scripts (process_sessions.mjs and process_sessions.ts) for manual processing of unprocessed sessions.
- Enhanced server.js and server.mjs to initialize schedulers on server start.
2025-06-25 16:14:01 +02:00