Code Monkey home page Code Monkey logo

rakesh5777 / oxytrack-turbo Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 848 KB

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.

JavaScript 2.29% TypeScript 95.85% HTML 0.17% Shell 0.89% CSS 0.80%
axios ex node openapi-generator openapi-specification openapi-typescript openapi-typescript-generator openapi3 postgresql pris

oxytrack-turbo's Introduction

OxyTrack Turbo Project

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.

Features

  • Monorepo Structure: Organized into apps/ for frontend/backend applications and packages/ for shared logic or components.
  • OpenAPI Specification: Utilizes OpenAPI spec as the source of truth for API design, with auto-generated TypeScript clients using openapi-typescript and openapi-typescript-axios.
  • Strong Typing: Both frontend and backend are fully typed, enhancing development experience and code quality.
  • Database Flexibility: Supports local Postgres setups as well as Docker-based environments for ease of development.
  • Development Workflow: Integrates tools like Prettier, ESLint, Husky, and lint-staged for code formatting and linting, ensuring code consistency and quality.

Getting Started

Prerequisites

  • Node.js (v18 or higher)
  • pnpm (v8.9.0)
  • Docker (for running Postgres in a container)

Setup Instructions

  1. Clone the Repository

    Start by cloning this repository to your local machine.

  2. Environment Setup

    Rename .example.env to .env in both apps/backend and packages/database. This is crucial for configuring your environment variables correctly.

  3. 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.

  4. Install Dependencies

    Run pnpm install to install all required dependencies across the monorepo.

  5. Start Development Server

    To start the development server, run turbo run dev.

Useful Scripts

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.

Project Structure

  • apps/*: Contains the frontend and backend applications.
  • packages/*: Includes shared libraries, configurations, and utility functions.

Additional Resources

Contributing

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!

oxytrack-turbo's People

Contributors

rakesh5777 avatar turbobot-temp avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.