An open API service indexing awesome lists of open source software.

https://github.com/diamondlightsource/squid

A repo for UI library developments
https://github.com/diamondlightsource/squid

Last synced: 3 months ago
JSON representation

A repo for UI library developments

Awesome Lists containing this project

README

        

# Turborepo Docker starter

This is from an official Docker starter Turborepo.

To start a particular application go to its readme in `/apps/[app of interest]`.

## Apps and Packages

- `web`: a [Next.js](https://nextjs.org/) app
- `api`: an [Express](https://expressjs.com/) server
- `b18-csv-generator`: a config generator for a beamline
- `bluegui`: a test client for blueapi
- `TEMPLATE-nextjs-app`: a template for making NEXTjs apps
- `TEMPLATE-vite-app`: a template for making vite apps
- `test-next-safe-action`: a test of the next safe action setup
- `trpc-test`: a test of trpc (next safe action won)
- `@repo/ui`: a React component library
- `@repo/logger`: Isomorphic logger (a small wrapper around console.log)
- `@repo/eslint-config`: ESLint presets
- `@repo/typescript-config`: tsconfig.json's used throughout the monorepo
- `@repo/jest-presets`: Jest configurations

Each package/app is 100% [TypeScript](https://www.typescriptlang.org/).

### Docker

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)
```

### Utilities

This Turborepo has some additional tools already setup for you:

- [TypeScript](https://www.typescriptlang.org/) for static type checking
- [ESLint](https://eslint.org/) for code linting
- [Jest](https://jestjs.io) test runner for all things JavaScript
- [Prettier](https://prettier.io) for code formatting