Commit Graph

19 Commits

Author SHA1 Message Date
Jose Selesan
f1e0fc5aae feat(home): implement home summary feature with routes and use case
- Added home routes and corresponding route handler for fetching home summary.
- Created GetHomeSummary use case to aggregate user data including groups, attendees, and upcoming payments.
- Introduced HomeSummaryDto and related schemas for data validation.
- Implemented nextClassOccurrence function to determine the next class based on user timezone.
- Added tests for home summary functionality and next class occurrence logic.
2026-09-23 10:35:24 -03:00
Jose Selesan
c1b99804b3 Removed "Back" link in create group page 2026-09-23 09:28:29 -03:00
Jose Selesan
5572ef0869 feat(groups): implement group creation functionality and refactor related components
- Removed organization dependency from group creation logic.
- Introduced new route and use-case for creating groups.
- Refactored form handling for group creation into a reusable GroupForm component.
- Updated API calls to support new group creation endpoint.
- Adjusted tests to reflect changes in group creation logic and validation.
- Removed obsolete organizations route and related components.
- Updated breadcrumb navigation and routing for group management.
2026-09-23 09:19:52 -03:00
Jose Selesan
fc30927b8b feat: manage waitlist and remove group members
- Add group-waitlist module (list/promote/remove entries)
- Remove attendee with optional atomic promotion from waitlist
- Block removal when attendee has payments (attendee_has_payments)
- Waitlist detail modal matching members UI; optimistic add-to-waitlist
- Responsive tweaks for the members/waitlist tabs
2026-09-22 17:04:41 -03:00
Jose Selesan
785d54df7e feat: add group waitlist functionality
- Introduced GroupWaitlistEntry model in Prisma schema to manage waitlisted users for groups.
- Implemented API route to add users to the group waitlist with validation.
- Enhanced attendee creation logic to handle group capacity and waitlisting scenarios.
- Added new problem builders for handling waitlist-related errors.
- Updated frontend to support waitlist interactions, including modals for capacity warnings.
- Created tests for waitlist functionality, ensuring proper handling of full groups and existing waitlist entries.
2026-09-22 16:28:54 -03:00
Jose Selesan
533bae021b feat: Share whatsapp message 2026-09-22 15:25:26 -03:00
Jose Selesan
d76c7e6200 Improved Attendee list look and feel 2026-09-18 10:49:41 -03:00
Jose Selesan
d7ebb5b234 Initial attendee management 2026-09-18 09:42:37 -03:00
Jose Selesan
fa30fe2cff Renamed Student to Attendee 2026-09-17 18:58:00 -03:00
Jose Selesan
e8bca3a5ae feat: implement AppLayoutGuard for onboarding redirection 2026-09-17 18:41:28 -03:00
Jose Selesan
6100c998be feat: add brand assets, design tokens and light/dark theme
- Use real logo/isotype SVGs across app and emails
- Token-based color system aligned with landing (brand scale + semantic tokens)
- ThemeProvider (light/dark/system) with header toggle and settings card
- Embed logo in transactional emails; centralize email colors
2026-09-16 17:35:24 -03:00
Jose Selesan
35ab3f0c06 Fix signout 2026-09-16 16:17:34 -03:00
Jose Selesan
a92e9e77c3 feat: basic onboarding flow\ 2026-09-15 15:41:45 -03:00
Jose Selesan
6246bf2341 refactor: migrate monorepo from pnpm to Bun runtime and workspaces
- root: bun workspaces via package.json, packageManager bun@1.4.0, scripts use bun --filter
- backend: Bun.serve, bun test (vitest removed), bun --watch dev script, tsconfig types bun
- tests: migrate 6 test files from vitest to bun:test (mock.module)
- validate: replace @hono/zod-validator with hono validator + zod safeParse (fixes TS2589)
- lockfile: bunfig.toml saveTextLockfile, regenerated bun.lock (text) for turbo
- docs: AGENTS.md, README.md, stack.md updated to Bun stack
2026-09-14 10:58:56 -03:00
Jose Selesan
4b1f356fab refactor: migrate backend to pnpm monorepo with Hono module architecture
- Replace Bun with pnpm 9 + Turborepo + tsx; apps/api renamed to apps/backend
- Split backend into http/, modules/, lib/ layers mirroring tai-specguard
- Add use-case + Result pattern, Problem Details RFC 7807, basePath /api/v1
- Mount Better Auth at /api/v1/auth, keep session-auth whitelist
- Split Prisma schema into prisma/models/*, generate into generated/
- Rework packages/shared into lib/ + schemas/ with pagination DTOs
- Implement health, groups, students, payments, waitlist modules
- Add vitest suite with prisma mocks (21 tests), biome lint
- Point web client to /api/v1/auth and /api/v1/groups/from-organization
2026-09-14 09:18:40 -03:00
Jose Selesan
b41fffa40a feat: basic initial UI layout for mobile and desktop 2026-09-07 09:33:07 -03:00
Jose Selesan
0aa5d70101 feat: update database schema to use snake_case for table names and add mapping for models 2026-09-04 19:02:43 -03:00
Jose Selesan
1ec6200ffa chore: update @prisma/client to version 7.10.0 and add prisma.config.ts for configuration management
- Updated @prisma/client in shared package.json from ^6.0.0 to ^7.10.0.
- Modified stack.md to include generated Prisma client directory and Prisma CLI config file.
- Added prisma.config.ts for managing Prisma configuration, including datasource URL and migrations path.
2026-09-04 18:50:02 -03:00
Jose Selesan
ed8d280995 feat: initialize monorepo structure with Bun and Turborepo
- Add package.json for the root with workspace configuration and scripts
- Create @gruperly/config package with TypeScript configuration
- Establish shared package @gruperly/shared with Zod schemas for validation
- Implement group, student, and payment schemas using Zod
- Set up TypeScript configuration for shared package
- Document stack architecture and technical specifications in stack.md
- Configure Turborepo with build, dev, lint, and typecheck tasks
2026-08-28 17:03:53 -03:00