Skip to content

Starter set of full stack project consisting of Next.js and Nest.js with turbo repo

Notifications You must be signed in to change notification settings

itou-rui/turborepo-fullstack-starter

Repository files navigation

Turborepo Fullstack Starter

This is a starter project for a full-stack application using Turborepo.

The following applications are included:

Included in this project

Web (Next.js) Description Support
ServerComponent Rendering on the server
ClientComponent Client on the server
ServerAction New ability to omit redundant HTTP methods
AppRoute Latest routing methods
TailwindCSS CSS Library
Embedded CSS Embed CSS in the head tag to maximize performance
ReduxStore State controlled library
PWA Functions to be enabled on the terminal 🚫
API (Nest.js) Description Support
Multiple databases Connect to multiple Mongodb databases
REST API that follows REST design principles
DiscordBot Discord App Use Cases 🚫
Packages Description
critters A plugin to inline critical CSS and lazy-load the rest
esbuild An extremely fast JavaScript bundler and minifier
eslint A tool for identifying and reporting on patterns in JavaScript
jest A delightful JavaScript testing framework
prettier An opinionated code formatter
tailwind A utility-first CSS framework for rapid UI development
tsconfig Shared TypeScript configurations
ui A collection of reusable UI components

Requirements

  1. Yarn
npm install --global yarn
  1. Nps
npm install --global nps
  1. Docker

You can install it any way you like.

  1. gcloud

You can install it any way you like.

gcloud auth login

Run Project

  1. Develop Mode
nps prepare.api && nps dev
  1. Production Mode

Warning

Run it in a separate terminal.

nps start.web
nps start.api

Branch Strategy

Main Branch (main)

  • Production environment

  • Merging requires Pull Request.

  • Merging requires confirmation of operation in a stage environment.

Feature Branches (feat/{username}-*)

  • Frequent rebasing of the main branch for consistency.

  • Confirm that the pull request works in the stage environment before submitting it.

  • If the environment cannot be checked locally, deploy manually to the develop environment to check the operation.

Commit

The following is incorporated

The recommended commit method is yarn commit or npm run commit. You can create commits interactively

Commit Description
Commitizen Standard for consistent commitments
Commitlint Inspect for commitments according to the rules
husky Automatically inspect when git commit is run

Deploy (Google Cloud Run)

  1. Edit name in package.json

Warning

Please respect GoogleCloudRun's naming conventions. Only - special symbols are allowed and names exceeding 32 characters cannot be set. Prefixes are handled internally in the system and must be set to 20 characters.

  1. Copy .env.example to .env and fill in the values

  2. Run Scripts

Note

Please grant the authority to execute shell scripts in advance!

yarn setup-google-cloud

Testing Github Workflow

  1. Install act
brew install act
  1. Copy .variables.example to .variables and fill in the values

Note

The values in this file are called out in vars.xxx!

  1. Copy .env.example to .env and fill in the values

Note

The values in this file are called out in secrets.xxx!

  1. Run test
yarn act --job=job_name

Note

Run act:list to see the list of jobs

About

Starter set of full stack project consisting of Next.js and Nest.js with turbo repo

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published