Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/anarthal/servertech-chat
Chat app using Boost and C++
https://github.com/anarthal/servertech-chat
async aws beast boost cpp networking redis websocket
Last synced: 1 day ago
JSON representation
Chat app using Boost and C++
- Host: GitHub
- URL: https://github.com/anarthal/servertech-chat
- Owner: anarthal
- License: bsl-1.0
- Created: 2023-07-14T20:34:11.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2024-11-11T20:28:53.000Z (3 days ago)
- Last Synced: 2024-11-11T20:31:41.332Z (3 days ago)
- Topics: async, aws, beast, boost, cpp, networking, redis, websocket
- Language: C++
- Homepage: https://anarthal.github.io/servertech-chat/
- Size: 792 KB
- Stars: 22
- Watchers: 3
- Forks: 2
- Open Issues: 27
-
Metadata Files:
- Readme: README.md
- License: LICENSE_1_0.txt
Awesome Lists containing this project
README
# BoostServerTech Chat
This repository holds the code for a chat application written in C++.
Read the full docs [here](https://anarthal.github.io/servertech-chat/).
| Build | Docs | Live server |
| -------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------- |
| ![Build Status](https://github.com/anarthal/servertech-chat/actions/workflows/build.yml/badge.svg) | [![Build Status](https://github.com/anarthal/servertech-chat/actions/workflows/doc.yml/badge.svg)](https://anarthal.github.io/servertech-chat/) | [Try it!](http://16.171.43.27/) |## The BoostServerTech project
This is the first of the [BoostServerTech projects](https://docs.google.com/document/d/1ZQrod1crs8EaNLLqSYIRMacwR3Rv0hC5l-gfL-jOp2M),
a collection of projects that showcase how C++ and Boost can be used for server-side code.## Architecture
The server is based on Boost.Beast, asynchronous (it uses stackful coroutines)
and single-threaded. It requires C++17 to build. It uses Redis and MySQL for
persistence.The client is web-based and uses Next.js. It communicates with the server
using websockets.You can read more about the architecture
[in this section of the docs](https://anarthal.github.io/servertech-chat/01-architecture.html).## Local development
You can quickly run the chat application in localhost by using Docker Compose,
by running in a terminal at the repo root:```
docker compose up --build
```Or you can learn about how to set up a traditional development environment
[here](https://anarthal.github.io/servertech-chat/02-local-dev.html).## Going live in minutes
This project features a CI/CD pipeline that can deploy your code to your server in
minutes. All you need is a Linux server with SSH enabled, or an AWS account to create one.
You can find out more [here](https://anarthal.github.io/servertech-chat/03-fork-modify-deploy.html).## Want to contribute?
Drop us a message in [the cpplang Slack](https://cpplang.slack.com/archives/C05MLSQGA01)!
Contributors are more than welcome!