A robust full stack application that includes Prisma, Postgres, Express, Node.js, React, and TypeScript across both the frontend and backend, ensuring a strongly typed development environment.
Welcome to the OxyTrack Turbo project! This monorepo is built with Turbo Repo, utilizing a robust stack that includes Prisma, Postgres, Express, Node.js, React, and TypeScript across both the frontend and backend, ensuring a strongly typed development environment.
apps/
for frontend/backend applications and packages/
for shared logic or components.openapi-typescript
and openapi-typescript-axios
.Clone the Repository
Start by cloning this repository to your local machine.
Environment Setup
Rename .example.env
to .env
in both apps/backend
and packages/database
. This is crucial for configuring your environment variables correctly.
Database Configuration
Ensure you have a running Postgres database. You can use Docker as mentioned in the scripts section or set up a local instance.
Install Dependencies
Run pnpm install
to install all required dependencies across the monorepo.
Start Development Server
To start the development server, run turbo run dev
.
Defined within the turbo.json
pipeline, these commands are key to the project's development and deployment processes:
Prisma Commands:
turbo run db:generate
: Generates Prisma client artifacts, essential for interacting with your database in a type-safe manner.turbo run db:push
: Updates the database schema during development without applying migrations, useful for quick iterations.turbo run db:migrate
: Applies database migrations, ensuring your database schema matches your Prisma schema.API Contract and Client Generation:
turbo run build-api-contract
: Bundles the OpenAPI spec and generates TypeScript Axios clients, ensuring frontend and backend communicate over a strongly typed API.Turbo Commands:
turbo run build
: Compiles the project for production, ensuring all dependencies like Prisma client and API contracts are generated and up-to-date.turbo run dev
: Starts the development server, watching for changes in your source code and automatically recompiling.apps/*
: Contains the frontend and backend applications.packages/*
: Includes shared libraries, configurations, and utility functions.Contributions are welcome! Please follow the established coding conventions and pull request process.
Thank you for choosing OxyTrack Turbo Repo for your development needs. Happy coding!