- Modified turbo.json to replace db:generate with prisma:generate in build and dev tasks.
- Enhanced CI workflow by adding a name to the validations job for better clarity.
- Added MINIO_PORT to .env.example for Minio configuration.
- Updated package.json to include a script for Prisma generation.
- Modified turbo.json to ensure db:generate task is executed during build and dev processes.
- Updated CI workflow to run Prisma generate step.
- Adjusted imports in the API to reference the generated Prisma client correctly.
- Added .gitignore entry for Prisma client directory.
- Introduced ESLint configuration files for both api and web packages to enforce coding standards.
- Updated MinioService and TokenService to improve error handling and type definitions.
- Refactored localStorage access in web components to use window.localStorage for consistency.
- Enhanced ESLint rules in base configuration to improve code quality and maintainability.
- Included Node.js setup step to specify the Node version.
- Added installation step to ensure dependencies are installed before linting and type-checking.
- Added linting and type-checking scripts to package.json for api, web, and ui packages.
- Updated ESLint configuration to ignore specific directories and added global window variable.
- Modified TypeScript configuration for ui package to exclude turbo generators.
- Refactored Button, Card, and Code components to use props for better readability and consistency.
- Changed environment file reference from .env.local to .env in package.json for Prisma migration commands
- Ensured consistent environment variable usage across development commands
- Added .env.example file for environment variable documentation
- Refactored docker-compose.yml to use environment variables for API URLs
- Updated TypeScript configuration to use NodeNext module resolution
- Split Dockerfile into multi-stage build for improved efficiency
- Added separate builder and runner stages
- Optimized dependency and artifact copying
- Reduced final image size by separating build and runtime steps
- Updated Docker and Turbo configuration to include more environment variables
- Modified API configuration to support dynamic cookie and CORS settings
- Enhanced user authentication flow with optional device ID and automatic generation
- Refactored login, register, and logout resolvers to handle device management
- Updated GraphQL schema to make device ID optional
- Improved web application logout and authentication handling
- Simplified client-side GraphQL mutations for login and registration
- Implemented robust token-based authentication with access and refresh tokens
- Added JWT token generation, verification, and rotation mechanisms
- Created services for token management, Memcached, and MinIO storage
- Enhanced user registration and login with device-specific tokens
- Added support for profile picture upload and management via MinIO
- Implemented secure password hashing with crypto
- Updated Prisma schema to support refresh tokens and profile picture storage
- Added GraphQL mutations for logout, token refresh, and profile picture handling
- Integrated environment configuration with Zod validation
- Improved error handling and authentication middleware
- Added user avatar generation with external avatar service
- Implemented message styling with user-specific layouts
- Added message length counter and validation
- Updated CSS for improved message and user profile display
- Restricted message length to 2048 characters
- Added disabled state for send button based on message length
- Integrated emoji-picker-element library for emoji selection
- Added emoji toggle button in message input container
- Implemented emoji picker show/hide functionality
- Created CSS styles for emoji picker positioning
- Added event handling for emoji selection and outside click
- Updated package.json to include emoji-picker-element dependency
- Modified Prisma schema to use TEXT type for message content
- Updated Prisma migration scripts to use dotenv for environment configuration
- Added automatic scrolling to bottom of messages in chat room
- Updated CSS to handle app and chat container height more precisely
- Implemented scrollToBottom function for messages container
- Ensured messages scroll automatically on new message or send
- Removed unnecessary port mapping in docker-compose.yml
- Added production environment variables to docker-compose.yml
- Updated Dockerfile for API and web to use Turbo build commands
- Modified turbo.json to include new environment variables
- Updated API index.ts to use new environment configuration
- Updated README.md with correct API port
- Added start:api script to package.json
- Improved deployment and configuration management
- Replaced Apollo Server with Mercurius for GraphQL API
- Updated resolvers to use Mercurius-compatible GraphQL implementation
- Migrated from Express to Fastify for server framework
- Improved error handling with GraphQL error extensions
- Added Zod for environment variable validation
- Updated Prisma schema and migrations
- Configured CORS and WebSocket subscriptions
- Simplified GraphQL schema and resolver structure
- Enhanced type safety and code organization
- Replaced Apollo Server with Mercurius for GraphQL API
- Updated resolvers to use Mercurius-compatible GraphQL implementation
- Migrated from Express to Fastify for server framework
- Improved error handling with GraphQL error extensions
- Added Zod for environment variable validation
- Updated Prisma schema and migrations
- Configured CORS and WebSocket subscriptions
- Simplified GraphQL schema and resolver structure
- Enhanced type safety and code organization
Reviewed-on: #1
Co-authored-by: Jusemon <juansmm@outlook.com>
Co-committed-by: Jusemon <juansmm@outlook.com>
- Added GraphQL mutations and subscriptions for joining and leaving rooms
- Implemented room member tracking and display in room list
- Added leave room confirmation and error handling in chat room
- Updated room list and chat room components with new interaction features
- Improved UI with member badges, join/leave buttons, and error messages
- Enhanced room query to include member information
- Converted web application from Next.js to SolidJS with Vite
- Replaced React components with SolidJS components
- Implemented GraphQL client using URQL
- Added authentication, room, and chat components
- Updated project structure and configuration files
- Removed unnecessary Next.js and docs-related files
- Added Docker support for web and API applications