/message-board

Example web app using React, Vue, .NET Core and more

Primary LanguageC#

Message Board - Simple web app for learning/testing new frameworks, features and ideas

Build Status

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.

Features

Backend / services

  • 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 App

  • 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 GraphQL App

  • React 16.x client

Vue App

  • Vue 2.6.x client
  • Server side rendering
  • Offline support
  • Responsive layout
  • PWA ready
  • Light/dark themes

Other

Running

Entire application (web client)

docker-compose up -d

Open http://localhost:8080/ in your browser

Only APIs for web development

docker-compose -f docker-compose.api-only.yml up -d
cd web-clients/react/
yarn install
yarn start

GraphQL Playground

docker-compose -f docker-compose.graphql.yml up -d

Open http://localhost:8181/ in your browser

Only GRPC services for GraphQL development

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

Sending feedback and pull requests

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!