- Add Icon Library
- Add Theme (via ThemeProvider)
- Typesafe Env
- Process.env Linter Rule
- Database
- Drizzle
- Docker
- Docker/Postgres
- Authentication (Better Auth)
- Email & Password Sign Up
- Email Verification
- Sessions with Cookie Caching
- Cookie Prefix
- Auth Rate Limiting
- Redis Caching for Auth
- Redis Integration
- Resend Integration for Emails
- Middleware
- Bulletproof React Structure
- Implemented SEO Setup
- Manifest
-
robots.ts -
sitemap.ts
- Husky
- Commitlint
- Lint-Staged
- UI via ShadCN
- Sidebar Config (Dashboard & Account)
- Core Features Setup:
- Authentication
- Dashboard
- User
- Implemented pages scaffold (UI pending):
-
/dashboard -
/accounts(with subpage scaffolds) -
/onboarding
-
- Implement OpenAPI
- Implement Testing Library
- Implement page titles
- Implement User Profile Settings Page
- Implement Verify Email Page
- Setup Server Action for email verification polling
- Implement User Security Settings Page
- Implement User Connections Settings Page
- Implement Verification when user changes email
- Implement Password Reset
- Add Verify Email Page
- Implement Forgot Password
- Implement File Upload
- Enable Users to Add Profile Picture
- Enable Users to Add Organization Images
- Set Who Can Change Organization Settings
- Implement Two-Factor Authentication
- Implement Passkeys
- Implement OAuth
- Implement Google OneTap
- Implement Admin Control
- Implement OIDC Provider
- Implement SSO
- Implement Stripe (Billing Integration)
- Implement loading.tsx to all async pages
- Implement Sentry for Observability
- Implement Logtail for Logging
- Implement PostHog for Analytics
- Implement Upstash for Rate Limiting (Beyond Auth)
- Implement Arcjet for Security
- Implement CMS
- Implement Internationalization (i18n)
- Update SEO Pages Regularly (Manifest, Sitemap, Robots)
- When database is erased and session is cached in client device, it will send user to onboarding page and let them create as many ghost orgs they want
- Animate verify email page icon
- Create a global theme for both light and dark mode
- Add proper documentation of how to add or remove features
- Add comments in every file for every function and every call
- Minimize Database requests and session request as low as possible
- Also add documentation on how to remove a certain feature from the app