This is a basic Turborepo setup for a Next.js app with Express.js server, using TypeScript.
Run the following command to start the apps:
pnpm install
pnpm dev
This boilerplate includes following packages/apps:
web
: a Next.js appserver
: an Express.js app@packages/emails
: a React email component library to be used in the server app.@packages/eslint-config
:eslint
configurations (includeseslint-config-next
andeslint-config-prettier
)@packages/tsconfig
:tsconfig.json
s used throughout the monorepo@packages/shared
: Shared types and utilities between the server and web apps
Each package/app is 100% TypeScript.
This boilerplate has some additional tools already setup for you:
- Upstash Redis for Redis caching
- Lucia Auth for authentication
- Drizzle ORM for database access
- Shadcn UI for UI components
- Tailwind CSS for styling
- Basic users table for the server app
- Basic auth for the server app & web app
- Basic access control for the server app
- Multi-language support for the server app & web app
- Server versioning (folder based)
as well as:
- TypeScript for static type checking
- ESLint for code linting
- Prettier for code formatting
- Turborepo for monorepo management
To build all apps and packages, run the following command:
pnpm build