Skip to content

📜 Changelog

All notable changes to this project will be documented in this file.

[v1.0.0]

Build

  • Migrate Dockerfile to Alpine Linux and optimize production image layering

♻️ Refactor

  • Remove unused Request import from chat controller
  • Improve documentation, add error handling to API calls & extend taxonomy service func
  • Convert Prisma and shared interface imports to type-only imports
  • Replace Joi with class-validator for type-safe env management & add example .env files
  • Parallelize database seeding operations using Promise.all
  • Reorganize project directory structure and remove throttler dependency
  • Update module import paths to use consistent directory structure
  • Implement path aliases in tsconfig and update module imports accordingly
  • Standardize module imports using path aliases and update tsconfig path mappings
  • Update PrismaService import path to use module alias
  • Update tsconfig path mappings and formatting configuration
  • Remove generic ApiResponse wrapper and implement centralized Prisma error handling & const
  • Migrate testing framework from Jest to Vitest
  • Standardize error handling by migrating hardcoded messages to shared constant keys
  • Modernize monorepo configuration, update project doc & refine maintenance scripts
  • Update SignalCard design, add metadata support to shared types
  • Use type-only import for ReactNode in Main component
  • Unify UI components with consistent glassmorphism styles and neutral color palette
  • Standardize UI components and typography with a minimalist, monochromatic design language
  • Migrate database provider from SQLite to PostgreSQL with native JSON support
  • Centralize AI prompts and cache configuration constants across the application
  • Update chat UI components with refined styling, labels, and layout consistency
  • Remove Redis dependency for in-memory caching and optimize Prisma seeding
  • Migrate AI orchestration from Gemini to Groq LLaMA 3.3 and implement routing for auth

⚙️ Miscellaneous Tasks

  • Remove unused prisma and tsx development dependencies
  • Refactor monorepo with improved linting, formatting rules, shared package integration, and TypeScript type safety.
  • Refactor codebase formatting, update project dependencies, and improve documentation consistency.
  • Add lefthook configuration, update path resolution for taxonomy data & introduce git-hygiene
  • Add project-wide editor configuration and markdown linting support
  • Ignore eslint configs and enable projectService for type-aware linting across all packages
  • Upgrade TypeScript to 6.0, update Prisma configuration, and refine tsconfig settings
  • Add jest types and test directory to tsconfig and enable default project for eslint config
  • Set container names in docker-compose and update prisma dependency management in backend
  • Add root ESLint configuration and optimize backend Docker build process
  • Implement backend security, rate limiting, health checks, and environment validation
  • Migrate testing framework to vitest, upgrade typescript, and reorganize monorepo scripts
  • Update README documentation and adjust DATABASE_URL path in environment configuration
  • Simplify git-hygiene configuration by removing redundant types and ignore branches
  • Add MIT license and project metadata to package.json
  • Remove obsolete Prisma migration files and lock configuration

🎨 Styling

  • Normalize whitespace in eslint configuration file
  • Format codebase with consistent imports and ESLint configuration updates

🐛 Bug Fixes

  • Handle non-Error objects in Gemini API error logging and update documentation
  • Update backend startup command to point to correct main.js path
  • Update handleSend event type to React.SubmitEvent in ChatInput

📚 Documentation

  • Improve documentation and standardise code across services and packages
  • Update architecture description and add engineering hygiene section to README
  • Add environment configuration guide and update setup command reference in README
  • Add API documentation and update backend DTOs to implement shared request interfaces
  • Initialize changelog file
  • Add deployment guide, update architecture for Groq/React Router v7
  • Update site URL and add deployment guide to documentation navigation
  • Add Render free-tier cold start warnings and update deployment production endpoints
  • Add ALLOWED_ORIGINS to configuration documentation and update Groq API key example
  • Fix formatting and alignment of environment variable documentation table in README

🚀 Features

  • Initialize project monorepo with backend, frontend, and shared packages
  • Migrate styling from custom CSS to TailwindCSS v4
  • Add tsx, export TaxonomyService, fix prisma seed, and update Dockerfile build process
  • Add health monitoring module and integrate Swagger API documentation
  • Add Swagger ApiProperty decorators and refine validation constraints for LoginDto fields
  • Implement DTO-based request validation for chat and taxonomy modules and configure SWC builder
  • Add Swagger documentation and API response DTOs across auth, chat, and taxonomy modules
  • Enable SWC builder for faster NestJS compilation
  • Implement JWT authentication strategy & identity middleware with CurrentUser decorator support
  • Implement JWT authentication, role-based access control guards & password hashing in the auth
  • Implement global API versioning, Winston logging, and Scalar API documentation
  • Add Bruno API collection and centralize error constants with shared DTOs
  • Implement request correlation IDs & a global HTTP exception filter for improved observability
  • Implement frontend chat hook with API client and initialize Bruno API test collections
  • Configure Nginx for production serving with optimized caching & security headers in Dockerfile
  • Implement dynamic chat session initialization & constrain docker service resources
  • Implement ownership verification for chat messages and improve UI accessibility and typography
  • Refactor App to use ChatProvider and modular dashboard/chat compound components
  • Integrate taxonomy metadata by adding new CSV datasets, updating Prisma schema
  • Add response normalization interceptor, implement global rate limiting and db index
  • Integrate Redis caching and optimize AI chat grounding with dynamic semantic search
  • Initialize documentation site with MkDocs, deploy pipeline, and update service configurations
  • Implement authentication system with login page
  • Add taxonomy page, route navigation, chat hydration, and commit button state feedback
  • Implement sidebar chat history and dynamic routing for persistent conversation management