Commit Graph

72 Commits

Author SHA1 Message Date
Jose Selesan
3b3def94ab feat: add recurring booking management functionality
- Implemented API endpoints for listing and updating recurring booking groups.
- Added handlers for listing and updating recurring groups in the backend.
- Created frontend components for displaying and editing recurring bookings.
- Enhanced booking provider to manage recurring groups and their states.
- Updated API client to include new methods for recurring bookings.
- Introduced new validation schemas for updating recurring groups.
- Added UI elements for managing recurring bookings in the booking interface.
2026-06-16 15:16:38 -03:00
Jose Selesan
1318e3bf57 feat: add recurring bookings feature with related handlers and services
- Introduced recurring booking groups with the ability to create and cancel them.
- Added database migrations for recurring bookings, including new tables and relationships.
- Implemented handlers for creating and canceling recurring bookings in the admin booking module.
- Enhanced existing booking services to support recurring bookings logic.
- Updated API contract to include new schemas for recurring bookings.
- Refactored existing code for improved readability and maintainability.
2026-06-16 11:58:06 -03:00
Jose Selesan
ef926c63a2 feat(admin): implement pricing overrides for plans and update pricing logic 2026-06-10 11:22:57 -03:00
Jose Selesan
dc8a10a612 feat: add geolocation fields to session and implement geo stats endpoint
- Added country, city, countryCode, latitude, and longitude fields to the Session model.
- Updated geoip service to fetch and store geolocation data based on user IP.
- Created a new admin endpoint to retrieve geolocation statistics, including user counts by country and city.
- Enhanced admin page to display geolocation statistics with expandable city details.
- Introduced caching for geolocation data to optimize performance.
2026-06-10 10:18:31 -03:00
Jose Selesan
00f0cf511f feat(admin): add geolocation information to user sessions and implement geo IP fetching 2026-06-10 10:01:36 -03:00
Jose Selesan
93b3a82638 feat(admin): implement user search functionality in admin portal 2026-06-10 09:44:02 -03:00
Jose Selesan
c1c2f18471 Add admin portal 2026-06-10 09:39:20 -03:00
Jose Selesan
8c3ca0e7e1 Fix booking cancelation 2026-06-08 16:53:28 -03:00
Jose Selesan
630dedb507 feat(booking): add validation to prevent past bookings and implement slot validation logic 2026-06-08 15:46:17 -03:00
Jose Selesan
49d2a13672 feat(booking): allow empty customer email in booking forms and schemas 2026-06-08 15:34:53 -03:00
Jose Selesan
af687fe2d8 refactor(tests): simplify prisma mock imports and ensure sport mock is included 2026-06-05 11:36:21 -03:00
Jose Selesan
260d79fc99 feat: implement public booking cancellation feature
- Added cancelPublicBooking handler to manage booking cancellations.
- Updated public booking service to include cancellation logic.
- Created cancelPublicBooking schema for input validation.
- Modified public booking confirmation page to allow users to cancel their bookings.
- Enhanced email service to send cancellation confirmation emails.
- Made customerEmail field required in booking schemas and updated related components.
- Updated API client to support cancellation requests.
- Added migration to enforce non-nullable customer_email fields in the database.
2026-06-05 11:24:02 -03:00
Jose Selesan
228004a7e0 feat(emails): update email layout padding and remove min-height for improved design consistency 2026-06-03 10:57:23 -03:00
Jose Selesan
43287a4baa feat(emails): integrate email verification layout into auth email sending process 2026-06-03 10:41:56 -03:00
Jose Selesan
93fea8ecad feat(emails): enhance booking cancellation and no-show email templates with improved layout and styling 2026-06-03 10:37:07 -03:00
Jose Selesan
ba7b0322ff Refactor code structure for improved readability and maintainability 2026-06-03 10:31:01 -03:00
Jose Selesan
473686528e feat(tests): update test configurations and improve mocking setup 2026-06-03 09:35:04 -03:00
Jose Selesan
85f234b05e feat: add customer email functionality for booking confirmations
- Implemented email confirmation for admin and public bookings.
- Added customerEmail field to booking schemas and services.
- Created email templates for booking confirmation, cancellation, and no-show notifications.
- Updated booking handlers to send emails upon booking creation and status updates.
- Enhanced frontend forms to capture customer email during booking creation.
2026-06-02 19:21:04 -03:00
Jose Selesan
07496e6673 feat(public-booking): enhance booking confirmation with price and address details 2026-06-02 16:55:47 -03:00
Jose Selesan
9045a8c017 feat(public-booking): add pricing logic to booking slots and update schemas 2026-06-02 16:37:11 -03:00
Jose Selesan
0e69759549 feat(email-validation): implement email verification checks for booking creation and resend functionality 2026-06-02 15:47:36 -03:00
Jose Selesan
4544911f0e refactor(onboarding): restructure onboarding routes and components
- Removed obsolete onboarding routes: complete, create-complex, index, verify-email, and verify.
- Introduced new setup stepper page for onboarding process.
- Created a multi-step setup component to handle complex creation with validation.
- Added new schemas for complex creation and plan features.
- Implemented detailed steps for complex name, location, plan selection, and court setup.
- Enhanced error handling and user feedback during the onboarding process.
2026-06-02 10:02:28 -03:00
Jose Selesan
2aaa91444d feat: add phone field to User model and update authentication flow
- Added phone field to User model in Prisma schema and generated types.
- Updated backend authentication to include phone as an additional field.
- Implemented phone input in the signup form with validation.
- Created a new SignupPage component for user registration.
- Updated routing to include signup path and redirect authenticated users.
- Modified login page to reference Playzer and added link to signup.
2026-06-01 16:43:52 -03:00
Jose Selesan
c18db76c7a Refactor header and layout components, remove About page, and introduce Background component for improved UI structure 2026-06-01 15:50:33 -03:00
Jose Selesan
b47f00651e Fixed mobile bottom toolbar 2026-05-08 12:00:52 -03:00
Jose Selesan
d1b5bea1bc Fix lint 2026-05-08 11:07:21 -03:00
Jose Selesan
f104161bbd Fixed build error 2026-05-06 20:30:23 -03:00
Jose Selesan
7be776f189 Close dialog on status change 2026-05-06 17:03:42 -03:00
Jose Selesan
41a217e8a9 Added booking logs to keep track of cancelled bookings and no shows 2026-05-06 16:54:48 -03:00
Jose Selesan
c9ecdd2c77 Add interface design references and principles; implement sport service tests
- Introduced critique, example, principles, and validation documents for interface design.
- Enhanced backend service with coverage threshold and fixed variable declaration in sport service.
- Added comprehensive tests for create, update, and list sports functionalities.
2026-04-24 10:40:25 -03:00
Jose Selesan
21d0c27f4d feat: enhance createSport functionality with conflict handling and result management
Co-authored-by: Copilot <copilot@github.com>
2026-04-23 16:46:46 -03:00
Jose Selesan
20d6018836 feat: implement error handling and validation middleware, enhance result handling
Co-authored-by: Copilot <copilot@github.com>
2026-04-23 16:35:57 -03:00
Jose Selesan
4658b168ed feat: implement complex user invitation handler with tests and configuration 2026-04-22 15:58:34 -03:00
Jose Selesan
6ad4fc9ee9 feat: add complex user invitation and management features
- Implemented complex member and invitation schemas using Zod for validation.
- Created new API endpoints for inviting, accepting, revoking, and canceling complex user invitations.
- Developed handlers for managing complex users, including listing, inviting, revoking, and canceling invitations.
- Added frontend components for displaying and managing complex users and invitations.
- Introduced session storage management for pending invitations.
- Integrated Gravatar for user avatars based on email.
- Created database migration for complex invitations table.
2026-04-22 15:30:04 -03:00
Jose Selesan
0fd72ea1de fix: return 404 error when admin user is not found during complex creation 2026-04-21 16:11:14 -03:00
Jose Selesan
62b7a75093 feat: integrate @better-auth/infra for dashboard and sentinel monitoring 2026-04-21 15:03:29 -03:00
Jose Selesan
07408dbbbe feat: implement onboarding flow with complex creation and email verification, and add Zustand for state management 2026-04-21 09:14:45 -03:00
Jose Selesan
28fd51f926 feat: implement complex selection flow 2026-04-20 15:47:47 -03:00
Jose Selesan
a5e39c94c5 fix: use window.location.origin for Google callback URL and remove redundant whitespace in auth config 2026-04-20 13:37:25 -03:00
Jose Selesan
4e327b7318 refactor: remove custom username generation logic from auth configuration 2026-04-20 10:29:33 -03:00
Jose Selesan
a4075866f8 feat: integrate Google OAuth authentication provider and add login UI button 2026-04-20 10:16:02 -03:00
Jose Selesan
e0d755bef7 feat: implement real-time booking updates using Server-Sent Events (SSE) and add public booking URL sharing to the dashboard 2026-04-17 17:25:46 -03:00
Jose Selesan
7fe1eef297 chore: ignore backend environment file and remove trailing newline in gitignore 2026-04-17 16:26:24 -03:00
Jose Selesan
20b70c06c1 feat: refactor onboarding into a multi-step flow with dedicated routes and session state management 2026-04-17 16:17:19 -03:00
Jose Selesan
400f67b268 feat: implement session persistence for onboarding flow and fix typo in password label 2026-04-17 16:03:40 -03:00
Jose Selesan
ea8e3f6a24 Updated mailer service 2026-04-17 15:40:29 -03:00
Jose Selesan
32c436e772 feat: make Mailtrap testInboxId configurable via environment variable 2026-04-17 15:32:50 -03:00
Jose Selesan
a1ff9f2831 Updated mailer to use Mailtrap API 2026-04-17 15:23:51 -03:00
Jose Selesan
b3f1b72da4 refactor: migrate authentication from Supabase to Better Auth and update project configuration 2026-04-17 08:35:54 -03:00
Jose Selesan
aabd9a8266 refactor: standardize tsconfig paths, update deprecation settings, and format user creation timestamp to ISO string 2026-04-16 22:23:34 -03:00