This is a Next.js project bootstrapped with create-next-app
.
This is a TurboRepo mono-repository. https://turbo.build/
We use pnpm
for this repository instead of npm
.
You need to install pnpm according to the instructions regarding your OS which are found here.
Windows users may have trouble with the default installation folder of pnpm:
copy %LOCALAPPDATA%\pnpm\pnpm.exe %WINDIR%
Documentation for installing pnpm https://pnpm.io/installation.
-
apps/web
main nextjs web app with backend routes -
apps/web-e2e browser tests build with playwright
-
packages/backend
the GraphQL backend with database build with prisma and pothos -
packages/pulumi
the infrastructure as code package build with pulumi -
packages/ui
re-usable UI components -
packages/tsconfig
central place to store all tsconfigs for all packages that use tsc -
packages/validations
our zod (https://zod.dev/) validation schemas to be used in form frontend and GraphQL backend validations -
packages/eslint-config-custom
eslint for all timebook projects. See the readme there.
The main application is located in the apps/web folder as next.js typescript application. It can be started from the root folder using:
pnpm run dev
Make sure the app runs on the right port your SSO is configured for, usually port 3000.
The database server has to be started prior to make the backend work.
docker-compose up -d
This app is developed using prisma.io. You can start the prisma studio to view/modify data by using:
cd packages/backend
pnpm prisma-studio
This is needed, if the database schema has changed since the last migration run.
pnpm run migrate-db
For more information see prisma getting started
This nextjs app starts react frontend and graphql backend with a single command:
pnpm run dev
For more information how next.js apps are build see NextJS basics
- http://localhost:3000 frontend ...
Open http://localhost:3000 with your browser to see the result.
You can start editing the page by modifying pages/index.tsx
. The page auto-updates as you edit the file.
API routes can be accessed on http://localhost:3000/api/hello. This endpoint can be edited in pages/api/hello.ts
.
The pages/api
directory is mapped to /api/*
. Files in this directory are treated as API routes instead of React pages.
To learn more about Next.js, take a look at the following resources:
- Next.js Documentation - learn about Next.js features and API.
- Learn Next.js - an interactive Next.js tutorial.
You can check out the Next.js GitHub repository - your feedback and contributions are welcome!
The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.
Check out our Next.js deployment documentation for more details.