This is from an official Docker starter Turborepo.
To start a particular application go to its readme in /apps/[app of interest]
.
b18-csv-generator
: a config generator for a beamlinebluegui
: a test client for blueapibluedev
: another test client for blueapigda-scan-definition
: various pages for daq spectroscopyroi-demo
: demo for the UI component 'range picker'TEMPLATE-nextjs-app
: a template for making NEXTjs appsTEMPLATE-vite-app
: a template for making vite appsTEMPLATE-express-app
: a template for making express apis for websockets and RestTEMPLATE-next-safe-action
: a test of the next safe action setupvisr
: a vite app to control the demos at the ViSR beamlinexraylib
: a deployed page to display elements and their spectroscopy parameters
Packages:
@repo/eslint-config
: ESLint presets@repo/jest-presets
: Jest configurations@repo/logger
: Isomorphic logger (a small wrapper around console.log)@repo/periodic-table
: One location for periodic tables@repo/test-add
: Example package, can be used as template@repo/typescript-config
: tsconfig.json's used throughout the monorepo@repo/ui
: a React component library for generic components@repo/vite-config
: vite config setups used throughout the monorepo
Each package/app is 100% TypeScript.
This repo is configured to be built with Docker, and Docker compose. To build all apps in this repo:
# Create a network, which allows containers to communicate
# with each other, by using their container name as a hostname
docker network create app_network
# Build prod using new BuildKit engine
COMPOSE_DOCKER_CLI_BUILD=1 DOCKER_BUILDKIT=1 docker-compose -f docker-compose.yml build
# Start prod in detached mode
docker-compose -f docker-compose.yml up -d
Open http://localhost:3000.
To shutdown all running containers:
# Stop all running containers
docker kill $(docker ps -q) && docker rm $(docker ps -a -q)
This Turborepo has some additional tools already setup for you:
- TypeScript for static type checking
- ESLint for code linting
- Jest test runner for all things JavaScript
- Prettier for code formatting