Mainly used for logging in and managing Codebuff API quotas.
- π Next.js 14 (App router)
- βοΈ React 18
- π Typescript
- π¨ TailwindCSS - Class sorting, merging and linting
- π οΈ Shadcn/ui - Customizable UI components
- π΅ Stripe - Payment handler
- π Next-auth - Easy authentication library for Next.js (GitHub provider)
- π‘οΈ Drizzle - ORM for node.js
- π React-hook-form - Manage your forms easy and efficient
- π Zod - Schema validation library
- π§ͺ Jest & React Testing Library - Configured for unit testing
- π Playwright - Configured for e2e testing
- π Absolute Import & Path Alias - Import components using
@/prefix - π Prettier - Code formatter
- π§Ή Eslint - Code linting tool
- πΆ Husky & Lint Staged - Run scripts on your staged files before they are committed
- πΉ Icons - From Lucide
- π Dark mode - With next-themes
- π Commitlint - Lint your git commits
- π€ Github actions - Lint your code on PR
- βοΈ T3-env - Manage your environment variables
- πΊοΈ Sitemap & robots.txt
- π― Perfect Lighthouse score
- Copy
.env.exampleto.envand fill in the values.cp .env.example .env - Run
bun installto install dependencies - Run
bun run db:generateto create migration files (if they differ from schema) - Run
bun run db:migrateto apply migrations - Run
bun run devto start the server
.
βββ .github # GitHub folder
βββ .husky # Husky configuration
βββ db # Database schema and migrations
βββ public # Public assets folder
βββ src
βββ __tests__ # Unit and e2e tests
βββ actions # Server actions
βββ app # Next JS App (App Router)
βββ components # React components
βββ hooks # Custom hooks
βββ lib # Functions and utilities
βββ styles # Styles folder
βββ types # Type definitions
βββ env.mjs # Env variables config fileThe following scripts are available in the package.json:
dev: Run development serverdb:generate: Generate database migration filesdb:migrate: Apply database migrationsbuild: Build the appstart: Run production serverpreview: Runbuildandstartcommands togetherlint: Lint the code using Eslintlint:fix: Fix linting errorsformat:check: Checks the code for proper formattingformat:write: Fix formatting issuestypecheck: Type-check TypeScript without emitting filestest: Run unit teststest:watch: Run unit tests in watch modee2e: Run end-to-end testse2e:ui: Run end-to-end tests with UIpostbuild: Generate sitemapprepare: Install Husky for managing Git hooks