This is the frontend mono repo for Standkreis, using Turborepo. It collects all the frontend 📱 Apps and 📦 Packages .
To get started first install
the dependencies with npm
and run some turbo commands from the root directory to build
, run dev
locally or lint
the code.
We are using npm
as a package manager, please follow this convention and make sure you also use the correct node
version.
# if you don't have node v18.18.0 installed yet
nvm install
nvm use
npm i
# builds all apps & packages
turbo build
# builds only one app or package
turbo build --filter app
turbo build --filter ui
By default the target will be served on localhost:3000. If you run multiple apps and packages they will be served each on separate ports, just check the console - it will tell you where you can find them.
# runs all apps & packages
turbo dev
# runs only one app or package
turbo dev --filter app
turbo dev --filter ui
# lints all apps & packages
turbo lint
# runs only one app or package
turbo lint --filter app
turbo lint --filter ui
Each 📱 App and 📦 Package is 100% TypeScript.
app
: The core website and app for the Standkreis platform
eslint-config-custom
:eslint
configurations (includeseslint-config-next
andeslint-config-prettier
)tsconfig
:tsconfig.json
s used throughout the monorepo
This Turborepo has some additional tools already setup for you:
- TypeScript for static type checking
- ESLint for code linting
- Prettier for code formatting
These are a couple of very useful VSCode extension we absolutely recommend to install.
Turborepo can use a technique known as Remote Caching to share cache artifacts across machines, enabling you to share build caches with your team and CI/CD pipelines.
By default, Turborepo will cache locally. To enable Remote Caching you will need an account with Vercel. If you don't have an account you can create one, then enter the following commands:
cd my-turborepo
npx turbo login
This will authenticate the Turborepo CLI with your Vercel account.
Next, you can link your Turborepo to your Remote Cache by running the following command from the root of your Turborepo:
npx turbo link