This is a Next.js project bootstrapped with create-next-app.
- Next.js (using app router)
- tRPC
- superjson as transformer
- zod as validator
- Drizzle
- cuid2 for ids
- Neon Postgres
- Neon serverless driver
- Lucia auth
- neverthrow
- Chakra-ui
- Cypress
- t3-env
- ts-reset
- react-hook-form
- With @hookform/resolvers
- See https://tkdodo.eu/blog/react-query-and-forms
- server-only
- Figure out state management / storing user on the client
- Move all logging functions to separate env vars (tRPC, Drizzle, Lucia)
- Consider CVA?
- Add neverthrow
- Add error / loading / not-found pages
- Self-host
- Explore https://nextjs.org/docs/app/api-reference/next-config-js/incrementalCacheHandlerPath
- Explore revalidating all paths on build
- Authenticate users via JWT (login/signup pages + logout button on settings page)
- CRU- users (sign up & settings page - no deleting required)
- CRUD Articles
- CR-D Comments on articles (no updating required)
- GET and display paginated lists of articles
- Favorite articles
- Follow other users
- Rate limiting