This is a simple web app for writing messages. The goal is to keep it's code simple so everyone can read, understand and maybe use some parts in your projects.
I'll try to keep it updated and adding new features. You can see below what is done and what is planned.
- Messaging, voting and ranking APIs (.NET Core 2.1)
- Internal communication using command/query with MediatR
- External communication using NATS
- Redis as database
- GraphQL server (with data loader)
- GRPC services
- Integration tests
- React 16.x client
- Server side rendering (without frameworks and fetching data)
- Offline support
- Responsive layout
- PWA ready
- Light/dark themes (using css variables)
- React 16.x client
- Vue 2.6.x client
- Server side rendering
- Offline support
- Responsive layout
- PWA ready
- Light/dark themes
- Deployment
- Traefik as API Gateway
- Docker support (multistage build)
- Kubernetes support
docker-compose up -d
Open http://localhost:8080/ in your browser
docker-compose -f docker-compose.api-only.yml up -d
cd web-clients/react/
yarn install
yarn start
docker-compose -f docker-compose.graphql.yml up -d
Open http://localhost:8181/ in your browser
docker-compose -f docker-compose.grpc-only.yml up -d
cd server/graphql
dotnet run
For more information about the GraphQL server, check this page
Fell free to open issues pointing to bugs, feature request, discuss some ideas/implementations of the project. If you know how to solve some problem, have an interesting new feature or want to implement using another framework (polymer, angular), send me a pull request!