Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/plh97/chatroom
💬chat
https://github.com/plh97/chatroom
ansible-playbook chat docker github koa mongodb nodejs react terraform
Last synced: 3 months ago
JSON representation
💬chat
- Host: GitHub
- URL: https://github.com/plh97/chatroom
- Owner: plh97
- License: mit
- Created: 2017-10-02T13:57:55.000Z (about 7 years ago)
- Default Branch: develop
- Last Pushed: 2024-06-21T07:26:24.000Z (5 months ago)
- Last Synced: 2024-07-13T07:32:03.928Z (4 months ago)
- Topics: ansible-playbook, chat, docker, github, koa, mongodb, nodejs, react, terraform
- Language: TypeScript
- Homepage: https://chat.plhh.xyz
- Size: 68.4 MB
- Stars: 57
- Watchers: 4
- Forks: 11
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Security: SECURITY.md
Awesome Lists containing this project
- awesome-github-star - chatroom
README
# [Chatroom](http://plhh.xyz/) · [![Github Action Status](https://github.com/plh2/chatroom/actions/workflows/github-CICD-actions.yml/badge.svg)](https://github.com/plh2/chatroom/actions) [![Github Action Status](https://github.com/plh2/chatroom/actions/workflows/main.yml/badge.svg)](https://github.com/plh2/chatroom/actions) [![Netlify Status](https://api.netlify.com/api/v1/badges/12d2c466-96f3-49a6-91f1-af835e81396a/deploy-status)](https://app.netlify.com/sites/plh-chat/deploys)
## Architecture
- Development(lerna)
- datebase
- mongodb
- ansible
- terraform
- nignx gateway
- package
- frontend
- vite[unplugin-auto-import/vite]
- eslint+prettier
- react+hook+ts+redux
- @chakra-ui/react
- tailwind
- socket-io/client
- Netlify
- backend
- node+ts
- socket.io
- Koa
- cors
- koa-router
- koa-static
- AWS## Dev
```bash
yarn
npm install
yarn run dev
```## Deploy
- terraoform create a Vultr EC2 service
- ansible create vm environment
- ansible clone project
- install dependences
- build project
- deploy project inside docker## CICD
```bash
cd ansilbe
ansible-playbook cicd.yml
```## TODO
- [ ] test coverage reach 100%
- [ ] room name able to setup/change
- [ ] room role: administer, menber, manager, room member
- [ ] room icon
- [ ] room online people display status
- [ ] one account can only login for one user
- [ ] webRTC - may need learn the course
- [ ] add a vitural scroll container
- [ ] BUG: when join default room, chatroom do 2 times ws push, need to be fixed!