Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/heynatefox/cards-against-formality-services
This repository creates a separation of concerns, for the backend microservices part of the application.
https://github.com/heynatefox/cards-against-formality-services
cards-against-formality
Last synced: 2 months ago
JSON representation
This repository creates a separation of concerns, for the backend microservices part of the application.
- Host: GitHub
- URL: https://github.com/heynatefox/cards-against-formality-services
- Owner: heynatefox
- License: bsd-2-clause
- Created: 2020-03-18T10:48:05.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2024-10-30T15:21:59.000Z (2 months ago)
- Last Synced: 2024-10-30T16:30:21.958Z (2 months ago)
- Topics: cards-against-formality
- Language: TypeScript
- Size: 1.34 MB
- Stars: 26
- Watchers: 4
- Forks: 15
- Open Issues: 127
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-moleculer - Cards Against Formality - Cards Against Formality aims to be a web based clone of the popular card game "Cards against humanity". TypeScript + Kubernetes + Skaffold + authorization + scaled socket connections (Examples / Repositories)
README
# Cards Against Formality - Services
Cards Against Formality aims to be a web based clone of the popular card game "Cards against humanity".
Play [here!](https://cardsagainstformality.io/)
# Getting started
**Once the project has developed more. Feel free to start contributing!**
Cards Against Formality Services are built using an event-driven microservice architecture.
Most of the Services are small Node applications written in Typescript. Each microservice should strictly conform to the single DB per service pattern, along with solely performing atomic operations. Furthermore, abide by the strict microservice methodology.
The Node services are built using the [moleculerjs](https://moleculer.services/) framework.
With the NATS message queue acting as the backbone of the application.All development and deployment is handled within a containerised environment. Containerisation is managed by [Docker](https://www.docker.com/), and container orchestration by [Kubernetes](https://kubernetes.io/).
## Dependencies
The project only has 4 dependencies for local development:
- A package manager, **yarn** or **npm**
- **Skaffold** to handle the CI/CD pipeline
- **Docker** for containerisation
- **kubectl** the kubernetes command line tool## Installation
Once you've insured you have installed all the above dependencies, follow these steps to start contributing.
Clone the repository
```sh
git clone https://github.com/heynatefox/cards-against-formality-services.git
```Run the dev server!
```sh
yarn run dev
```Expose the remote debug port - All dev node servers will have a debugger exposed on port 9229.
```sh
kubectl port-forward [name-of-service]-service 9229:9229
```
Skaffold will handle hot-code changes, ensuring pods will be swapped out of the running kubernetes cluster.