Commit Graph

49 Commits

Author SHA1 Message Date
kbe
24126eb834 style: lint code
All checks were successful
Ruby on Rails Test / rails-test (push) Successful in 1m55s
2025-09-15 17:41:35 +02:00
kbe
a8c7e82507 Merge branch 'feat/promoters' into develop
All checks were successful
Ruby on Rails Test / rails-test (push) Successful in 2m19s
2025-09-15 17:21:03 +02:00
kbe
889afd0d01 Change available tickets details 2025-09-15 17:18:14 +02:00
kbe
91e6425c1e feat: Settings page to update profile 2025-09-11 16:07:25 +02:00
kbe
1a7fb818df feat: Implement the promoter event creation
- Promoter can now create an event in draft mode
- Place is found based on address and long/lat are automatically
  deducted from it
- Slug is forged using the *slug* npm package instead of custom code
2025-09-10 20:46:31 +02:00
kbe
748f839346 feat: Implement comprehensive promoter system with dashboard and role-based access
This commit implements a complete promoter system that allows professional users
(is_professionnal: true) to manage events with advanced analytics and controls.

## Key Features Added:

### Role-Based Access Control
- Update User#can_manage_events? to use is_professionnal field
- Add promoter? alias method for semantic clarity
- Restrict event management to professional users only

### Enhanced Navigation
- Add conditional "Créer un événement" and "Mes événements" links
- Display promoter navigation only for professional users
- Include responsive mobile navigation with appropriate icons
- Maintain clean UI for regular users

### Comprehensive Promoter Dashboard
- Revenue metrics with total earnings calculation
- Tickets sold counter across all events
- Published vs draft events statistics
- Monthly revenue trend chart (6 months)
- Recent events widget with quick management actions
- Recent orders table with customer information

### Advanced Analytics
- Real-time revenue calculations from order data
- Monthly revenue trends with visual progress bars
- Event performance metrics and status tracking
- Customer order history and transaction details

### Event Management Workflow
- Verified existing event CRUD operations are comprehensive
- Maintains easy-to-use interface for event creation/editing
- State management system (draft → published → cancelled)
- Quick action buttons for common operations

### Documentation
- Comprehensive implementation guide in docs/
- Technical details and architecture explanations
- Future enhancement recommendations
- Testing and deployment considerations

## Technical Implementation:

- Optimized database queries to prevent N+1 problems
- Proper eager loading for dashboard performance
- Responsive design with Tailwind CSS components
- Clean separation of promoter vs regular user features
- Maintainable code structure following Rails conventions

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-10 18:12:04 +02:00
kbe
20ae3de7a3 Link to homepage on and more comments in controller 2025-09-10 15:20:29 +02:00
kbe
6d2a6ed027 chore: Remove links to non working themes 2025-09-10 15:11:33 +02:00
kbe
f2448383d4 Setup container system for all pages with max-width constraint while maintaining full-width backgrounds
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2025-09-08 18:34:00 +02:00
kbe
9be7a01d93 Update all views to use new design system components and styling
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2025-09-08 17:59:12 +02:00
kbe
569303b631 Update breadcrumbs to use dynamic component with new design system colors
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2025-09-08 17:51:11 +02:00
kbe
758d461c1a feat: Implement comprehensive onboarding system for new users
Add complete user onboarding flow that redirects new users to complete their
profile before accessing the application:

- Add onboarding_completed boolean field to users with migration
- Create OnboardingController with form validation and completion logic
- Design professional onboarding UI with progressive disclosure for company info
- Implement Stimulus controller for toggling company information section
- Add application-wide redirect middleware for incomplete users
- Create comprehensive test suite for all onboarding functionality
- Update test fixtures and helpers to support onboarding in existing tests

The onboarding collects required first/last name and optional company information.
Users are redirected to onboarding after login until profile is completed.
Features smooth animations, full-width form button, and clean UX design.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-08 11:38:28 +02:00
kbe
ff32b6f21c style: Translate in french 2025-09-05 14:57:46 +02:00
kbe
a3689948ae style: Authentication form use the .min-h-screen 2025-09-05 00:35:10 +02:00
kbe
61079c8171 docs: Add comprehensive invoice system implementation guide
- Document various invoice generation approaches (PDF, HTML-to-PDF, Stripe)
- Compare Stripe Payment Intents vs Invoicing vs Checkout Sessions
- Provide complete code implementation with models, controllers, services
- Include phase-by-phase implementation strategy for current use case
- Add testing, security, and deployment guidelines
- Recommend hybrid approach: keep current checkout + post-payment invoices

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-04 02:18:50 +02:00
kbe
ee4399aa46 fix: CSS asset loading and convert footer to Tailwind
- Fix asset loading issues by removing commented footer.css import
- Convert footer component from custom CSS to Tailwind classes
- Add dark background styling to footer wrapper
- Maintain responsive grid layout and hover effects
- Remove unused CSS styles and simplify asset pipeline

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-04 00:57:44 +02:00
kbe
1acc3e09d4 feat: Implement payment retry system and draft ticket expiry management
- Add 30-minute expiry window for draft tickets with automatic cleanup
- Implement 3-attempt payment retry mechanism with tracking
- Create background job for cleaning expired draft tickets every 10 minutes
- Add comprehensive UI warnings for expiring tickets and retry attempts
- Enhance dashboard to display pending draft tickets with retry options
- Add payment cancellation handling with smart retry redirections
- Include rake tasks for manual cleanup and statistics
- Add database fields: expires_at, payment_attempts, last_payment_attempt_at, stripe_session_id
- Fix payment attempt counter display to show correct attempt number (1/3, 2/3, 3/3)
2025-08-31 10:22:55 +02:00
kbe
055640b73e Fix responsive header navigation for mobile devices
- Restructure header component to properly separate desktop and mobile views
- Ensure mobile menu is hidden by default and only shown when hamburger is
clicked
- Improve layout and spacing for better mobile experience
- Maintain all existing functionality for both desktop and mobile
2025-08-30 14:36:41 +02:00
kbe
a7e83d79d7 Fix responsive header navigation for mobile devices
- Restructure header component to properly separate desktop and mobile views
- Ensure mobile menu is hidden by default and only shown when hamburger is clicked
- Improve layout and spacing for better mobile experience
- Maintain all existing functionality for both desktop and mobile
2025-08-30 14:34:22 +02:00
kbe
9404f10c93 Replace Alpine.js with Stimulus controller for header navigation
- Create header_controller.js to handle mobile menu and user dropdown
- Replace Alpine.js directives with Stimulus data attributes in header component
- Add proper event handling for click outside to close menus
- Maintain all existing functionality with improved code consistency
2025-08-30 14:30:32 +02:00
kbe
56b0a45719 Implement ticket selection with Stimulus controller and improve code documentation
- Add ticket selection functionality to event show page using Stimulus
- Create ticket_selection_controller.js for handling ticket quantity changes
- Update ticket card component and event show view to work with Stimulus
- Add comprehensive comments to all JavaScript files for better maintainability
- Remove dependent: :destroy from event ticket_types association
2025-08-30 14:26:59 +02:00
kbe
58dbcf3a6a chore: No more javascript in show 2025-08-30 14:02:48 +02:00
kbe
2a2c249a54 feat(show): wip to checkout 2025-08-28 21:20:33 +02:00
kbe
b9576b91f5 Fix ticket quantity buttons on event page - Remove syntax error in ticket card component and improve error handling in ticket cart controller 2025-08-28 20:56:48 +02:00
kbe
2fd93dc3bf style(ticket): Improve mobile layout for ticket card component
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2025-08-28 18:46:25 +02:00
kbe
4e2445198f feat: Implement complete event ticketing system with Stripe integration and email confirmations
- Enhanced events index page with improved visual design and better information display
- Completely redesigned event show page with modern layout, ticket selection, and checkout functionality
- Implemented Stripe payment processing for ticket purchases
- Created ticket generation system with PDF tickets and QR codes
- Added email confirmation system with ticket attachments
- Updated database configuration to use SQLite for easier development setup
- Fixed gem dependencies and resolved conflicts
- Improved error handling throughout the checkout process
- Enhanced Stimulus controller for ticket cart management
- Added proper redirect handling for successful and cancelled payments
2025-08-28 18:08:05 +02:00
kbe
1989cbf6af fix header dropdown 2025-08-28 17:03:48 +02:00
kbe
b2d1cb5fa4 Merge branch 'feat/theme/header' into develop 2025-08-28 15:36:28 +02:00
kbe
74f8350abe feat: enhance header component with complete navigation structure
- Add responsive header with mobile hamburger menu
- Implement user authentication state handling
- Style with primary color scheme using neutral/primary variants
- Add proper navigation links for events and concerts sections
- Include user dropdown menu with profile and logout options

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-28 15:31:19 +02:00
kbe
96734480d5 working on linux 2025-08-28 15:11:42 +02:00
Kevin BATAILLE
f6675bd5e4 clean header 2025-08-28 14:33:34 +02:00
Kevin BATAILLE
a8a8c55041 working on header 2025-08-28 14:27:06 +02:00
kb6e
9513867614 refactor 2025-08-28 13:43:05 +02:00
Kevin BATAILLE
30f3ecc6ad refactor(events): replace parties concept with events throughout the application
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>

This commit refactors the entire application to replace the 'parties' concept with 'events'. All controllers, models, views, and related files have been updated to reflect this change. The parties table has been replaced with an events table, and all related functionality has been updated accordingly.
2025-08-28 13:20:51 +02:00
kb6e
e084839289 Trying to work on new theme 2025-08-28 00:53:35 +02:00
kbe
6f31f99def display available tickets 2025-08-27 02:47:18 +02:00
kbe
7c7db939a2 feat(show parties): prepare to use ticket cart components 2025-08-27 02:31:20 +02:00
kbe
1806c875b5 refactor: dashboard views by extracting metric card and party item partials, and fix metric card rendering issue 2025-08-27 01:12:00 +02:00
kbe
b9b7ac4ba1 Add flash message support and localization updates 2025-08-26 19:08:23 +02:00
Kevin BATAILLE
062820873f fix: update header and layout structure for flash messages 2025-08-26 18:34:03 +02:00
Kevin BATAILLE
884c6a8262 feat(auth): enhance user registration with names and improve UI
- Add first_name and last_name fields to User model with validations
- Configure Devise registrations controller to accept name parameters
- Update registration form with name fields and improved styling
- Replace Twitter Bootstrap pagination with custom Tailwind components
- Add French locale translations for pagination and models
- Update header styling with responsive design improvements
- Add EditorConfig for consistent code formatting
- Fix logout controller URL handling and improve JavaScript
- Update seed data and test fixtures with name attributes
- Add comprehensive model tests for name validations
- Add test.sh script for easier test execution

💘 Generated with Crush
Co-Authored-By: Crush <crush@charm.land>
2025-08-26 17:17:50 +02:00
Kevin BATAILLE
a0f008bbd4 fix: Add slug column to parties table and update seed data
- Added slug column to parties table via migration
- Updated seed data to properly assign slug values to Party records
- Fixed NoMethodError when assigning slug attribute in seed file

This resolves the ActiveModel::UnknownAttributeError that occurred
when trying to set the slug attribute on Party model instances.
2025-08-26 02:30:34 +02:00
kb6e
6385c39c10 new modes 2025-08-25 20:17:44 +02:00
kbe
98efdb44ac Modify theme for light one 2025-08-23 22:04:31 +02:00
kbe
5454e23220 New light theme 2025-08-23 21:28:35 +02:00
kbe
c7d28dca71 Add comprehensive theme rules and update authentication UI
- Create complete design system with color palette, typography, and component rules
- Update authentication pages with consistent styling
- Add footer component for better layout structure
- Remove deprecated architecture documentation

💘 Generated with Crush
Co-Authored-By: 💘 Crush <crush@charm.land>
2025-08-23 20:43:00 +02:00
kbe
3c6389c6e2 feat: Use application name from .env 2025-08-18 00:25:14 +02:00
kbe
31534b2c0c New homepage 2025-08-16 22:28:41 +02:00
kbe
87af76f078 Prepare working with authentication and Tailwind 2025-08-16 21:28:49 +02:00