Commit Graph
565 Commits
Author SHA1 Message Date
adrianbonpin f60b3b3b08 feat: add auth controls to navbar and middleware route protection 2026-04-26 01:31:12 +08:00
adrianbonpin 8c6e326bad feat: add login, forgot password, and reset password forms 2026-04-26 01:27:17 +08:00
adrianbonpin 284a4c1076 feat: add signup flow wizard and page 2026-04-26 01:21:34 +08:00
adrianbonpin d09496ed6a feat: add auth UI foundation components and layout 2026-04-26 01:17:08 +08:00
adrianbonpin 9588733278 feat: add auth form validation schemas and password strength utility 2026-04-26 01:12:03 +08:00
adrianbonpin 4fc4b070dc feat: update search page and improve details 2026-04-26 01:08:10 +08:00
adrianbonpin 6415200f34 feat: add steam game search 2026-04-25 21:37:34 +08:00
adrianbonpin e03a4081ae fix: search page logic 2026-04-25 21:07:14 +08:00
adrianbonpin 592b0c7b87 feat: initial landing and search pages 2026-04-25 21:01:00 +08:00
adrianbonpin 327dce2b19 feat(database): add community presets and game comments tables, update games and performance entries schema
- Created new ENUM types for game source, online multiplayer status, frame generation method, and FSR version.
- Added `community_presets` table with relevant fields and constraints.
- Added `game_comments` table to store user comments on games.
- Updated `games` table to allow null steam_app_id and added source and online_multiplayer_status columns.
- Enhanced `performance_entries` table with new fields for FSR version, frame generation method, upvotes, downvotes, and verification details.
- Established foreign key constraints for new tables and updated existing ones.
- Created indexes to optimize queries on comments and performance entries.
2026-04-25 19:13:51 +08:00
adrianbonpin 5dd30665f7 feat(api): add upvote/downvote and best-entry endpoints to performance entries 2026-04-25 18:55:48 +08:00
adrianbonpin c3a85d1336 refactor: remove structured settings tables, use freeform JSON for presets and entries 2026-04-25 18:51:10 +08:00
adrianbonpin bc6fc493f6 fix: resolve build, lint, and type errors - add paramName support to CRUD builder 2026-04-25 18:36:52 +08:00
adrianbonpin 1b92aecdb8 feat(db): seed settingCategories and settingDefinitions with graphics/display/audio/controls/gameplay 2026-04-25 18:32:31 +08:00
adrianbonpin b6eb005c73 feat(api): wire all CRUD routes into Elysia server 2026-04-25 18:31:26 +08:00
adrianbonpin eebafa12b9 feat(api): add game comments CRUD with threading, upvote, and soft delete 2026-04-25 18:30:45 +08:00
adrianbonpin 8004baf5bc feat(api): add community presets CRUD with upvote and nested preset settings 2026-04-25 18:29:44 +08:00
adrianbonpin 2228c433b2 feat(api): add settings categories/definitions CRUD with combined full endpoint 2026-04-25 18:29:00 +08:00
adrianbonpin 128e668e01 feat(api): add performance entries CRUD with verify and stats endpoints 2026-04-25 18:28:36 +08:00
adrianbonpin 083b871842 feat(api): add hardware CRUD routes (admin-only writes) 2026-04-25 18:27:53 +08:00
adrianbonpin 3c7283382b feat(api): add games and game versions CRUD routes 2026-04-25 18:27:36 +08:00
adrianbonpin b606b3afeb feat(api): add reusable CRUD route factory with auth, pagination, search, and filtering 2026-04-25 18:26:46 +08:00
adrianbonpin bd55c1d696 feat(schema): add barrel exports for all tables, generate migration 2026-04-25 18:24:12 +08:00
adrianbonpin 1412807a04 feat(schema): add gameComments table with threading and upvotes 2026-04-25 18:21:18 +08:00
adrianbonpin 7e9dc88a49 feat(schema): add presetSettings join table 2026-04-25 18:20:58 +08:00
adrianbonpin 51e3f51846 feat(schema): add communityPresets table 2026-04-25 18:20:39 +08:00
adrianbonpin a60be8c0a4 feat(schema): add settingDefinitions table with input type and impact level enums 2026-04-25 18:20:19 +08:00
adrianbonpin 5f71ed93cc feat(schema): add settingCategories table 2026-04-25 18:19:57 +08:00
adrianbonpin 34b75da04d feat(schema): add sortOrder column to hardware table 2026-04-25 18:19:42 +08:00
adrianbonpin a31b5ea130 feat(schema): replace FSR/FrameGen booleans with enums, add verification fields to performanceEntries 2026-04-25 18:19:20 +08:00
adrianbonpin 3da593e619 feat(schema): add source enum, nullable steamAppId, onlineMultiplayerStatus to games table 2026-04-25 18:18:48 +08:00
adrianbonpin 5bc5f29281 chore: ignore .worktrees in eslint config 2026-04-25 14:53:17 +08:00
adrianbonpin a7cafe7ae5 fix: resolve all build errors and ensure clean build 2026-04-25 14:51:06 +08:00
adrianbonpin 86d9c9b1fa fix: resolve all lint errors 2026-04-25 14:46:40 +08:00
adrianbonpin 7b366cae5a chore: add RP_ID, RP_NAME, and RESEND_API_KEY to env example 2026-04-25 14:45:48 +08:00
adrianbonpin 20027ecc3d feat: add styled 404 page matching landing page theme 2026-04-25 14:44:52 +08:00
adrianbonpin d6dc701e3f feat(api): add user profile routes (public profile, me, sessions) 2026-04-25 14:43:32 +08:00
adrianbonpin 3ef9649322 feat(api): add application-level rate limiting middleware with IP-based tracking 2026-04-25 14:34:24 +08:00
adrianbonpin d1e2a8f281 test(auth): add test-only auth instance with testUtils plugin and initial tests 2026-04-25 14:14:23 +08:00
adrianbonpin a9cb8a328c feat(db): add lastLoginMethod field to user table for last-login-method plugin 2026-04-25 14:07:45 +08:00
adrianbonpin c0d2c8b137 feat(auth): configure Email OTP, Passkey, Last Login Method, and Admin with RBAC 2026-04-25 13:55:51 +08:00
adrianbonpin c404e93fb0 feat(auth): define RBAC with user, contributor, and admin roles 2026-04-25 13:47:47 +08:00
adrianbonpin f8aa64bd32 feat(auth): mount Better-Auth on Elysia server with session macro and role guards 2026-04-25 13:42:07 +08:00
adrianbonpin 8d058f02dd fix(eden): resolve server/client detection and bundler issues
- Use typeof window === undefined for standard Next.js server detection
- Use NEXT_PUBLIC_SITE_URL env var instead of hardcoded localhost:3000
- Use require() for server branch to prevent Elysia from entering client bundle
- Add type assertion on require() to preserve Eden Treaty types
2026-04-25 13:25:38 +08:00
adrianbonpin b2a9094819 feat(api): add isomorphic Eden Treaty client for end-to-end type safety 2026-04-25 13:17:59 +08:00
adrianbonpin 52ab8484cf fix(api): add global error handler and export app type
- Add .onError hook for centralized error handling and consistent JSON formatting
- Export app instance and App type for Eden Treaty client integration

Reference: Task 2, Issues 1 and 2
2026-04-25 13:11:45 +08:00
adrianbonpin a3cba6950e feat(api): set up Elysia server with health check on Next.js catch-all route 2026-04-25 13:04:41 +08:00
adrianbonpin 4ac1a4b243 chore: configure next.config for Elysia server compatibility 2026-04-25 12:59:58 +08:00
adrianbonpin 7560eac127 chore: add .worktrees to gitignore 2026-04-25 12:52:47 +08:00
adrianbonpin d6a75fce86 chore: add docs/superpowers to gitignore 2026-04-25 12:32:48 +08:00