Bumps the npm_and_yarn group with 3 updates in the /services/frontend directory: [brace-expansion](https://github.com/juliangruber/brace-expansion), [js-yaml](https://github.com/nodeca/js-yaml) and [nanoid](https://github.com/ai/nanoid). Bumps the npm_and_yarn group with 2 updates in the /services/user-service directory: [brace-expansion](https://github.com/juliangruber/brace-expansion) and [fast-uri](https://github.com/fastify/fast-uri). Updates `brace-expansion` from 1.1.16 to 1.1.18 - [Release notes](https://github.com/juliangruber/brace-expansion/releases) - [Commits](https://github.com/juliangruber/brace-expansion/compare/v1.1.16...v1.1.18) Updates `js-yaml` from 4.3.0 to 4.3.1 - [Changelog](https://github.com/nodeca/js-yaml/blob/4.3.1/CHANGELOG.md) - [Commits](https://github.com/nodeca/js-yaml/compare/4.3.0...4.3.1) Updates `nanoid` from 3.3.16 to 3.3.18 - [Release notes](https://github.com/ai/nanoid/releases) - [Changelog](https://github.com/ai/nanoid/blob/3.3.18/CHANGELOG.md) - [Commits](https://github.com/ai/nanoid/compare/3.3.16...3.3.18) Updates `brace-expansion` from 5.0.8 to 5.0.9 - [Release notes](https://github.com/juliangruber/brace-expansion/releases) - [Commits](https://github.com/juliangruber/brace-expansion/compare/v1.1.16...v1.1.18) Updates `fast-uri` from 3.1.4 to 3.1.5 - [Release notes](https://github.com/fastify/fast-uri/releases) - [Commits](https://github.com/fastify/fast-uri/compare/v3.1.4...v3.1.5) --- updated-dependencies: - dependency-name: brace-expansion dependency-version: 1.1.18 dependency-type: indirect dependency-group: npm_and_yarn - dependency-name: js-yaml dependency-version: 4.3.1 dependency-type: indirect dependency-group: npm_and_yarn - dependency-name: nanoid dependency-version: 3.3.18 dependency-type: indirect dependency-group: npm_and_yarn - dependency-name: brace-expansion dependency-version: 5.0.9 dependency-type: indirect dependency-group: npm_and_yarn - dependency-name: fast-uri dependency-version: 3.1.5 dependency-type: indirect dependency-group: npm_and_yarn ... Signed-off-by: dependabot[bot] <support@github.com>
Panels
A proof-of-concept forum application created using a microservices architecture.
About
This application was created as a hobby project in spare time. In current form the application serves as a proof of concept containing bare-bones functionality.
There are definitely aspects that I'd like to improve or polish further, in addition to some ideas for functionality that I would like to implement at some point. As such, the project should be considered a work-in-progress at this stage.
Architecture
Users are served the React site from the frontend and make calls to the REST API exposed by the gateway-service. The gateway-service makes calls to the relevant services for the request.
Interservice communication is handled through RPC calls (utilising gRPC) and event sourcing (utilising Kafka).
Services
I used a variety of languages for writing the services as this was created as a hobby project and the architecture gave me some room to play around with.
| Service | Language | Datastores | Description |
|---|---|---|---|
| frontend | TypeScript (React) | N/A | Web-based user interface |
| gateway-service | Golang | N/A | Exposes a HTTP REST API to allow users to communicate with the application. |
| panel-service | Golang | PostgreSQL, Redis | Responsible for operations related to panels |
| post-service | Golang | PostgreSQL, Redis | Responsible for operations related to posts |
| user-service | TypeScript (Node) | MongoDB | Responsible for operations related to users |
| auth-service | Python | PostgreSQL | Responsible for authenticating users |
| comment-service | Python | PostgreSQL, Redis | Responsible for operations related to comments |
Deployment and Configuration
For more information about configuration and deployment, please view the documentation located in the /docs folder.
License
Acknowledgments:
- Logo Icon: Tabler Icons (MIT License)
- Logo Font: Oregano (Open Font License)
This repository is licensed under the Apache License v2.0.

