This is a technical task bootstraped with the Docker starter Turborepo
Run the following command:
npm install
npm run devThis will build and run both apps in parallel.
- localhost:3000: the interactive front-end
- localhost:3001: the api server
- tRPC api /panel/
- REST api /docs/
- REST api /openapi.json
This is the stack
@repo/web: a Next.js app@repo/api: an Fastify server with tRPC@repo/ui: a React component librarywith shadcn/ui@repo/logger: Isomorphic logger (a small wrapper around console.log)@repo/schema: central Zod schema (shared with other packages)@repo/database: Drizzle schema and devops with Turso SQLlite DB.@repo/eslint-config: ESLint presets@repo/typescript-config: tsconfig.json's used throughout the monorepo for consistentcy@repo/jest-presets: Jest configurations (but I would switch to vitest for an easier life)
🚀 100% TypeScript.
It should (will) be as simple as docker compose up but there's a ts issue with trpc after downgrading from @next to @10 which needs to be resolved first.
This Turborepo has some additional tools already setup for you:
- Husky, for lovely git hooks
- pre-commit: lint and format all staged files
- pre-push: lint and test (abort if fails)
- CommitLint and lint-staged to keep things tidy
- DotEnvX, the better dotenv
- TypeScript for static type checking
- ESLint for code linting
- Jest test runner for all things JavaScript (staring at vitest tho 👀)
- Prettier for code formatting
