0dcf6f93ba
feat: migrate from Next.js Pages Router to App Router with Payload CMS
...
Complete architectural overhaul migrating from Directus+tRPC to Payload CMS with Next.js App Router. This represents a fundamental shift in how the application is structured and how data is managed.
Major changes:
- Migrated from Pages Router (src/pages/) to App Router (src/app/)
- Replaced Directus CMS with Payload CMS as the content management system
- Removed tRPC in favor of Payload's built-in API routes
- Added PostgreSQL database via Docker Compose for local development
- Implemented separate route groups for frontend and Payload admin
- Updated all API routes to App Router conventions
- Added Payload collections for Projects, Technologies, Links, Media, and Users
- Configured ESLint for new project structure
Infrastructure:
- Added docker-compose.yml for PostgreSQL database
- Updated environment variables for Payload CMS configuration
- Integrated @payloadcms/next for seamless Next.js integration
- Added GraphQL API and playground routes
Dependencies:
- Upgraded React from 18.2.0 to 19.2.0
- Upgraded Next.js to 15.5.6
- Added Payload CMS 3.x packages (@payloadcms/db-postgres, @payloadcms/next, etc.)
- Removed Directus SDK and tRPC packages
- Updated Sharp to 0.34.x
- Migrated to @tanstack/react-query v5
2025-10-26 00:58:10 -05:00
6c043630df
feat: add internal healthcheck api route for directus
2025-07-20 22:53:21 -05:00
129a59340a
Switched /api/resume to /resume with ISR, added additional classic redirects
2025-04-05 22:10:03 -05:00
b768f5a40d
Fix req.method comparison METHOD check
2025-03-21 12:28:39 -05:00
5a1ab61c65
Fix /resume redirect links, add /api/resume route
2025-03-21 12:26:34 -05:00
ee1e1cfdf6
Continue improving projects page layout
2025-01-01 03:02:07 -06:00
4ba3560749
use cssnano for CSS compression in production
2024-12-31 21:17:27 -06:00
697a6a7a18
Format change, sort by date_updated descending
2024-12-31 20:08:50 -06:00
95acb1cafa
Remove extra console.log
2024-12-31 19:55:54 -06:00
23c6b68179
Allow passing CRON_SECRET via query parameter, use production only, don't return response directly
2024-12-31 19:54:21 -06:00
7c30bb7082
Fuck You Vercel
2024-12-31 19:45:44 -06:00
07872bcfbf
Extend index page to 60 second revalidate
...
Main reason is because the edge requests are kinda spending a lot more
bandwidth than I should be allowing. I assume due to updown.io
2024-12-31 19:40:45 -06:00
fbe2834a0a
Allow CRON_SECRET to be optional
2024-12-31 19:38:38 -06:00
ef44d6c1ba
automatic update cron implementation, vercel cron, type guards
2024-12-31 19:36:01 -06:00
c3997a1df5
setup CRON_SECRET, DIRECTUS_API_TOKEN, GITHUB_API_TOKEN, static directus token authentication
2024-12-31 16:58:09 -06:00
9b003a5640
Fix navbar hotbox issues via z-index
2024-12-30 15:24:40 -06:00
85fb7781fd
Switch to .env, use multiple projects
2024-12-29 17:00:53 -06:00
4141af5406
Make text selectable, because why not
2024-12-29 16:55:12 -06:00
a280b61c5e
Vercel does not support multiple environments for free, so we use a hack instead :)
2024-12-29 16:49:41 -06:00
6f13f7814c
OVERRIDE_TITLE env
2024-12-29 16:43:54 -06:00
692df157a1
Fix select-none affecting surrounding elements of title
2024-12-29 16:34:07 -06:00
0945d706f4
Fix linting errors, title padding, add subtitle
2024-12-28 21:36:16 -06:00
d75925ba1f
Tune icons, allow div/a element based on link availability, 'Projects' h1
2024-12-28 21:30:11 -06:00
55b491bd33
Use directus return types, fix project link nested type API response
2024-12-28 21:01:25 -06:00
fe3d2aefbe
Remove keyed project route, log error
2024-12-28 20:05:05 -06:00
47e664b313
Switch to pnpm
2024-12-28 18:34:07 -06:00
78a8f4c139
Fixed fade-in changes breaking index buttons
2024-12-28 18:31:04 -06:00
c4c805c83b
tune index/projects Dots animation fading
2024-12-28 18:25:16 -06:00
da6333d39a
font awesome dynamic icons, use dynamic /projects from directus
2024-12-28 18:00:57 -06:00
1a6e6d93a2
Remove projects list from index page
2024-12-28 17:14:26 -06:00
7220e0878e
Remove WIP component
2024-12-28 17:00:47 -06:00
943aea71e5
Remove unused /public files
2024-12-28 17:00:23 -06:00
f90ee1a969
Cull unused AppWrapper details
2024-12-28 16:59:16 -06:00
e35d8c0199
Fix headline select-none + padding prevent link hover/click, remove AppWrapper.hideNavigation
2024-12-28 16:57:31 -06:00
445687699f
Use 'cn' utility with clsx/tailwind-merge
2024-12-28 16:57:05 -06:00
08ec8288d1
Remove body-gradient (lighter than Dots bg)
2024-12-28 16:34:52 -06:00
34c306f493
Increase opacity, slow timescale of Dots
2024-12-28 16:32:55 -06:00
dca72e6881
Tune frame, scale, min opacity
2024-12-26 18:15:34 -06:00
1457d250ae
Lower relative speeds, framerate target
2024-12-26 17:49:48 -06:00
216513d82d
performance improvements, lower frameRate target
2024-12-26 17:14:58 -06:00
4e8526f6f0
Move Dots to AppWrapper
2024-12-26 17:13:18 -06:00
e798b5c053
Remove old project paths
2024-12-26 17:13:07 -06:00
fcf4326e02
Fix build errors
2024-12-26 16:31:06 -06:00
5094903472
CSR only Dots component, tune drop shadow
2024-12-26 16:29:26 -06:00
5a30a9a80a
animated index, chronark
2024-12-26 16:14:56 -06:00
9e11a7d455
dots background, p5.js
2024-12-26 16:14:48 -06:00
bd8e8999ec
Remove react-ogp, use metadata object
2024-12-26 16:14:32 -06:00
1a039627a2
Update project directus schema
2024-12-26 16:14:11 -06:00
28ef681a24
Add remote image patterns for r2 image domains
2024-12-26 16:14:03 -06:00
b8b6f3b228
Use Record, not Map
2024-12-19 17:34:17 -06:00