This repository is a monorepo for all of Tuturuuu's services, powered by Turborepo. View our documentation at docs.tuturuuu.com.
This turborepo uses pnpm as a package manager. It includes the following packages/apps:
app
: a Next.js app with Tailwind CSS support that contains all public information about Tuturuuu, including the landing page, pricing plans, branding-related resources and Tuturuuu's services through a web application interface. On production, this app is located at tuturuuu.com.
ui
: a stub React component library with Tailwind CSS shared by theweb
application.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:
- Tailwind CSS for styles
- Shadcn UI for UI components
- TypeScript for static type checking.
- ESLint for code linting.
- Prettier for code formatting.
- Vitest for testing.
Before proceeding to the Build and Develop sections, you should have pnpm installed on your local machine. The most common way to install it is using npm:
npm install -g pnpm
More information can be found at the pnpm installation page.
After installing pnpm, you can install all dependencies by running the following command:
pnpm install
or
pnpm i
To build all apps and packages, run the following command:
pnpm build
To develop all apps and packages (without requiring a local setup), run the following command:
pnpm dev
To stop development apps and packages that are running on your local machine, run the following command:
pnpm stop
In case you want to run all local development servers, run the following command:
pnpm devx
Running devx
will:
- Stop the currently running supabase instance and save current data as backup (if there is any)
- Install all dependencies
- Start a new supabase instance (using backed up data)
- Start all Next.js apps in development mode
If you want to have the same procedure without the backup, you can run pnpm devrs
instead. This will:
- Stop the currently running supabase instance (if there is any)
- Install all dependencies
- Start a new supabase instance (with clean data from seed.sql)
- Start all Next.js apps in development mode
In case you don't want to run a local supabase instance, you can run
pnpm dev
instead.
There are 5 seed accounts that are already set up for local development:
To run all tests, run the following command:
pnpm test
Note: Tests are still a work in progress. We're currently working on adding tests to all packages to ensure the best quality possible.