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 [postcss](https://github.com/postcss/postcss). Bumps the npm_and_yarn group with 5 updates in the /services/user-service directory: | Package | From | To | | --- | --- | --- | | [brace-expansion](https://github.com/juliangruber/brace-expansion) | `1.1.13` | `1.1.16` | | [js-yaml](https://github.com/nodeca/js-yaml) | `4.2.0` | `4.3.0` | | [mongoose](https://github.com/Automattic/mongoose) | `6.13.9` | `6.13.10` | | [mongoose](https://github.com/Automattic/mongoose) | `7.8.9` | `7.8.11` | | [fast-uri](https://github.com/fastify/fast-uri) | `3.1.2` | `3.1.4` | | [find-my-way](https://github.com/delvedor/find-my-way) | `9.4.0` | `9.7.0` | Updates `brace-expansion` from 1.1.13 to 1.1.16 - [Release notes](https://github.com/juliangruber/brace-expansion/releases) - [Commits](https://github.com/juliangruber/brace-expansion/compare/v1.1.13...v1.1.16) Updates `js-yaml` from 4.2.0 to 4.3.0 - [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md) - [Commits](https://github.com/nodeca/js-yaml/compare/4.2.0...4.3.0) Updates `postcss` from 8.5.10 to 8.5.23 - [Release notes](https://github.com/postcss/postcss/releases) - [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md) - [Commits](https://github.com/postcss/postcss/compare/8.5.10...8.5.23) Updates `brace-expansion` from 1.1.13 to 1.1.16 - [Release notes](https://github.com/juliangruber/brace-expansion/releases) - [Commits](https://github.com/juliangruber/brace-expansion/compare/v1.1.13...v1.1.16) Updates `js-yaml` from 4.2.0 to 4.3.0 - [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md) - [Commits](https://github.com/nodeca/js-yaml/compare/4.2.0...4.3.0) Updates `mongoose` from 6.13.9 to 6.13.10 - [Release notes](https://github.com/Automattic/mongoose/releases) - [Changelog](https://github.com/Automattic/mongoose/blob/6.13.10/CHANGELOG.md) - [Commits](https://github.com/Automattic/mongoose/compare/6.13.9...6.13.10) Updates `mongoose` from 7.8.9 to 7.8.11 - [Release notes](https://github.com/Automattic/mongoose/releases) - [Changelog](https://github.com/Automattic/mongoose/blob/6.13.10/CHANGELOG.md) - [Commits](https://github.com/Automattic/mongoose/compare/6.13.9...6.13.10) Updates `fast-uri` from 3.1.2 to 3.1.4 - [Release notes](https://github.com/fastify/fast-uri/releases) - [Commits](https://github.com/fastify/fast-uri/compare/v3.1.2...v3.1.4) Updates `find-my-way` from 9.4.0 to 9.7.0 - [Release notes](https://github.com/delvedor/find-my-way/releases) - [Commits](https://github.com/delvedor/find-my-way/compare/v9.4.0...v9.7.0) --- updated-dependencies: - dependency-name: brace-expansion dependency-version: 1.1.16 dependency-type: indirect dependency-group: npm_and_yarn - dependency-name: js-yaml dependency-version: 4.3.0 dependency-type: indirect dependency-group: npm_and_yarn - dependency-name: postcss dependency-version: 8.5.23 dependency-type: indirect dependency-group: npm_and_yarn - dependency-name: brace-expansion dependency-version: 1.1.16 dependency-type: indirect dependency-group: npm_and_yarn - dependency-name: js-yaml dependency-version: 4.3.0 dependency-type: indirect dependency-group: npm_and_yarn - dependency-name: mongoose dependency-version: 6.13.10 dependency-type: indirect dependency-group: npm_and_yarn - dependency-name: mongoose dependency-version: 7.8.11 dependency-type: direct:production dependency-group: npm_and_yarn - dependency-name: fast-uri dependency-version: 3.1.4 dependency-type: indirect dependency-group: npm_and_yarn - dependency-name: find-my-way dependency-version: 9.7.0 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.

