Skip to content

Fullstack Typescript Turborepo starter. Typescript, Nestjs, Nextjs, React native, Github Actions, Docker, And Reverse proxy configured

License

Notifications You must be signed in to change notification settings

kiranojhanp/fullstack-typescript-turborepo-starter

Repository files navigation

Turborepo (NestJS + NextJS + React Native + Typescript + Jest) Starter

This is fullstack typescript turborepo starter. It comes with the following features.

  • ✅ Turborepo
  • ✅ Nestjs
    • ✅ Fastify
    • ✅ Env Config with Validation
  • ✅ NextJS
  • ✅ React native powered by expo
  • ✅ Shared UI components using react native web
  • ✅ Shared data management using tanstack query
  • ✅ Testing using Jest
  • ✅ Github Actions
  • ✅ Reverse Proxy using Nginx
  • ✅ Docker Integration
  • ✅ Postgres Database

What's inside?

This turborepo uses Yarn as a package manager. It includes the following packages/apps:

Apps and Packages

  • api: a NestJS app
  • native: an Expo powered React native app
  • web: a Next.js app
  • ui: a stub React native web component library shared by both web and native
  • config: nginx
  • eslint-config-custom: eslint configuration for web
  • eslint-config-custom-server: eslint configuration for nestjs api
  • eslint-config-native: eslint configuration for react native app
  • tsconfig: tsconfig.json used throughout the monorepo

Each package/app is powered by TypeScript.

Utilities

This turborepo has some additional tools already setup for you:

Setup

This starter kit is using turborepo and yarn workspaces for monorepo workflow.

Prerequisites

  • Install Gnu make (Only for windows)
choco install make
  • Make sure docker and docker-compose are installed. Refer to docs for your operating system.

Install Dependencies

If you're running it for the first time, extract the environment variables using command below. Make sure you are at root of the project.

make extract.env

then just run

make prepare

Build

To build all apps and packages, run the following command at the root of project:

make build

Develop

To develop all apps and packages, run the following command at the root of project:

make dev

The app should be running at http://localhost with reverse proxy configured.

Similarly,

To develop only api and packages, run the following command at the root of project:

make dev.api

To develop mobile app, api and packages, run the following command at the root of project:

make dev.native

To develop web app, api and packages, run the following command at the root of project:

make dev.web

Develop

To commit, run the following command at the root of project:

yarn commit

About

Fullstack Typescript Turborepo starter. Typescript, Nestjs, Nextjs, React native, Github Actions, Docker, And Reverse proxy configured

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published