.
├── .github/ # Github workflows
├── .vscode/ # VSCode recommended plugins & config
├── apps/ # The magic happens here
│ └── web/ # Next.js app
├── packages/
│ ├── db/ # Datamodel & migrations with Prisma
│ ├── emails/ # Emails with react-email
│ ├── tailwind/ # Shared tailwind configuration
│ ├── tsconfig/ # Shared tsconfig
│ └── ui/ # React component library with Ladle
├── turbo # turbo generators
├── .editorconfig # editorconfig
├── .gitignore # gitignore
├── .nvmrc # nvm config
├── biome.json # biome linter & formatter config
├── bun.lockb # bun lockfile
├── commitlint.config.ts # commitlint config
├── docker-compose.yml # docker-compose
├── package.json # build scripts and dependencies
├── README.md # This file ;)
├── tsconfig.json # ~root tsconfig
└── turbo.json # Turborepo config
To get a local copy up and running, please follow these simple steps:
Here is what you need to be able to run the application:
bun install
Prior to starting the application locally, run the init-setup.sh
script, it will:
apps/web
& packages/db
.sh ./init-setup.sh
openssl rand -hex 32
to generate a key and add it under ARGON_SECRET
in the apps/web/.env
file.Configure the rest of the environment variables for the following:
RESEND_API_KEY
You can start the app using this command:
bun run dev
# serve the application
bun run dev
# migrate the database
bun run db:migrate
# seed the database
bun run db:seed
# run all tests
bun run test
Easily deploy your Next.js app with Vercel by clicking the button below:
Debug & tracing are active by default on dev environments.
Debugging the Docker instance:
# List your containers
docker ps
# Check log for a specific container
docker logs -f e339bca6290c
Install recommended extensions for vscode, see .vscode/extensions.json
The following scripts are available in the package.json
:
build
: Build the packages & applications in the monorepodev
: Run development serverdb:generate
: Generate the Prisma clientlint
: Lint accross apps & packagesformat
: Checks & fix formatting issuesgenerate
: Turbo gen CLIgenerate:component
: Bootstrap a new component under packages/ui
generate:package
: Bootstrap a new package under packages/
update-deps
: Check dependencies in the monorepotest
: Run all tests