d2lab
Getting Started
Pre-requisites
This codebase requires the following tools to be present on your machine.
Running the Project
To get started with this project:
Populate dev-harness/.env
.
Run services:
$ make run-services
You should see this in the Tilt UI:
The React Frontend:
Accessing Services
- 10350 - The Tilt Harness (with the react-frontend selected).
- 3000 - React Frontend.
- 3000 - GraphQL Sandbox.
- 4000 - GraphQL Gateway.
- 5432 - PostgreSQL database.
- 8080 - Go GraphQL backend
- 6379 - Redis Server.
- 6380 - RedisInsight web UI.
- 16686 - Jaeger web UI (distributed trace viewer).
Directory Structure
The project is divided into various directories, each corresponding to a distinct part of the application. Here's a quick breakdown:
-
./go-graphql-backend
: This directory contains a backend service implemented in Go with the help of gqlgen, a Go library for building GraphQL servers. It includes support for subscriptions. -
./react-frontend
: This is a frontend application built with React and TypeScript. React is a JavaScript library for building user interfaces, and TypeScript is a statically typed superset of JavaScript that adds optional types. -
./gateway
: This directory contains a sample setup that combines multiple backend services. -
./dev-harness
: This directory contains examples ofdocker-compose.yml
files showing how to configure Docker Compose to run the various components of this project together.
Each directory contains a README.md
file with more detailed information about that part of the project.