- Add Jitsi service initialization in admin CLI creation flow
- Inject Jitsi service into notification service constructor
- Improve service dependency management and configuration
- Enhance modularity of service initialization process
- Update SMTP configuration to use Hostinger email settings
- Add Jitsi configuration for custom meet domain
- Enhance Makefile with comprehensive Docker and development commands
- Update email template support email address
- Improve environment example file with more detailed configuration
Standardizes configuration across development and production environments, enhancing deployment flexibility and maintainability.
Add detailed API:
- Complete API documentation for In Format Usage flow diagrams for authentication and booking processes
- Comprehensive endpoint descriptions with request/response examples
- Detailed authentication and booking flow explanations
- Structured documentation for health checks, authentication, and booking endpoints
-: - Includes JWT authentication details
usage
- Provides clear API usage patterns for users and clients and administrators
system interactions
- Enhances project documentation with provides clear, structured API reference
- Improves developer and user understanding of system capabilities
- Add new `app` package to manage application initialization and lifecycle
- Refactor `main.go` to use new application management approach
- Implement graceful shutdown with context timeout and signal handling
- Add dependency injection container initialization
- Enhance logging with configurable log levels and structured logging
- Update configuration loading and server initialization process
- Modify Jitsi configuration in `.env` for custom deployment
- Improve error handling and logging throughout application startup
- Centralize application startup and shutdown logic in single package
Introduces a more robust and flexible application management system with improved initialization, logging, and shutdown capabilities.
- Upgrade Go module dependencies to latest versions
- Add new middleware packages for CORS, logging, rate limiting, and security
- Update go.mod and go.sum with latest package versions
- Integrate new middleware components into server configuration
- Improve project dependency management and middleware infrastructure
- Replace deprecated `golang.org/x/crypto/ssh/terminal` with `golang.org/x/term`
- Update `terminal.ReadPassword()` calls to use `term.ReadPassword()`
- Remove unnecessary version of `golang.org/x/sys` in go.sum
- Ensure compatibility with latest terminal package recommendations
- Add new `internal/cli/admin.go` package for admin management
- Implement interactive admin account creation with secure password input
- Add CLI command for creating admin accounts with flexible input options
- Implement validation for admin account creation details
- Support both interactive and flag-based admin account creation
- Integrate with existing user and authentication services
- Update go.mod and go.sum with new dependencies and version upgrades
Enhances system administration capabilities by providing a flexible CLI tool for creating admin accounts with robust security and usability features.
- Add new AdminHandler with methods for dashboard, schedules, users, and bookings
- Implement GetDashboard method to retrieve admin dashboard statistics
- Add CreateSchedule method with validation and error handling
- Implement GetUsers method with pagination support
- Add GetBookings method with pagination and filtering capabilities
- Implement GetFinancialReports method with date range filtering
- Add UpdateSchedule method to modify existing schedule slots
- Enhance error handling and response formatting for admin-related operations
- Integrate admin service methods for comprehensive administrative tasks
- Add full implementation for booking handlers with complete CRUD operations
- Implement GetAvailableSlots endpoint to retrieve available booking time slots
- Add CreateBooking handler with robust error handling and validation
- Implement GetUserBookings endpoint to fetch user's booking history
- Add CancelBooking handler with specific error scenarios and authorization checks
- Integrate booking service and middleware for authentication and request processing
- Add support for date parsing and slot availability checking
- Enhance error responses with detailed error messages and appropriate HTTP status codes
- Integrate with existing authentication and middleware components
- Add BookingService with core booking management functionality
- Implement mock repositories for testing booking service interactions
- Create booking integration test with Jitsi room generation
- Add methods for creating, retrieving, and managing bookings
- Integrate Jitsi service for generating meeting room URLs
- Implement schedule management within booking service
- Add support for booking creation with user and schedule context
- Enhance database layer to support repository retrieval
Closes #TICKET_NUMBER (if applicable)
- Add payment routes with placeholders for CreatePaymentIntent, ConfirmPayment, and HandleWebhook
- Introduce initializeServices method to set up payment service and handler
- Update Server struct to include paymentHandler
- Prepare infrastructure for payment-related functionality
- Enhance server initialization process with service setup
- Add PaymentHandler with methods for creating payment intents, confirming payments, and handling webhooks
- Implement PaymentService interface with Stripe payment processing logic
- Create DTOs for payment-related requests in services/interfaces.go
- Add error handling and validation for payment-related operations
- Configure Stripe API key and support for automatic payment methods
- Implement webhook signature verification and event processing
- Enhance error responses with detailed error messages and appropriate HTTP status codes
Enables full payment flow using Stripe, supporting intent creation, payment confirmation, and webhook handling for robust transaction management.
- Add complete authentication handlers for registration, login, profile retrieval, and update
- Implement UserService with robust validation and error handling
- Create new user_service.go with core authentication logic
- Add support for JWT token generation and user management
- Implement input validation, password hashing, and error responses
- Enhance security with email normalization and input sanitization
- Prepare groundwork for secure user authentication flow
- Add JWT authentication middleware with token validation
- Implement user context extraction methods for user ID, email, and admin status
- Create admin middleware to restrict access to admin-only routes
- Add convenience method to combine authentication and admin authorization
- Update auth middleware to handle token parsing, validation, and context setting
- Enhance error handling for various authentication scenarios
- Add new JWT service and related dependencies in go.mod
- Add comprehensive validation and error handling for Notification model
- Introduce strongly typed enums for notification types and statuses
- Implement GORM hooks for pre-create and pre-update validation
- Add helper methods for notification retry and sending logic
- Improve Schedule model with validation, availability checks, and duration methods
- Add constraints and validation for schedule time slots
- Enhance model relationships with foreign key references
- Implement additional utility methods for schedule management
Improves data integrity, adds robust validation, and provides more comprehensive model behaviors for notifications and schedules.
- Add initial project scaffolding with Go module and project structure
- Create server and CLI entry points for application
- Implement Makefile with development and build commands
- Add `.env.example` with comprehensive configuration template
- Set up README.md with project documentation and setup instructions
- Configure basic dependencies for server, database, and CLI tools
- Establish internal package structure for models, services, and handlers
- Add initial configuration and environment management
- Prepare for HTTP server, CLI, and database integration