This repository is a monorepo for all of Tuturuuu's services, powered by Turborepo.
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
).tailwind-config
:Tailwind CSS
configurations.tsconfig
:tsconfig.json
s used throughout the monorepo.
This turborepo has some additional tools already setup for you:
- Tailwind CSS for styles
- TypeScript for static type checking.
- ESLint for code linting.
- Prettier for code formatting.
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.