A ticketing application implemented using a microservices based architecture
- Client using React & Next.js
- Services run using Docker & Kubernetes
- Skaffold for managing Kubernetes deployments & services
- Database-per-service
- Event-bus
- Typescript
- Testing
- Handling concurrency issues
- Central library as an NPM module for shared code
On Mac, make sure that Docker Desktop & Kubernetes are running. Run skaffold dev
in the root project folder to run the pipeline in development mode.
ts-node-dev
can have issues if the resources specified in the deployment file are too restrictive. Using the--poll
flag with withts-node-dev
may help in cases where code hot-reload is not occuring. It is also recommended to use thenode:lts-alpine
base image- If using yaml-schema, ensure that the matching apiVersion is selected for
skaffold.yaml