plh97/chat1

avatarplhDigital nomad

Chatroom · Github Action Status Github Action Status Netlify Status

Architecture

  • Development
    • 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
        • websocket
        • Koa
        • cors
        • koa-router
        • koa-static
        • AWS

Dev

pnpm
npm install
pnpm 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

cd ansilbe
ansible-playbook cicd.yml

TODO

  • send system message
    • send add new member system message
    • send create new friend system message
    • broadcast ws to all channal member
    • add member should be reduce
    • add member/admin should also update opposite user room info
  • recall message
  • change room name
  • change room avatar
  • remove room admin/member
  • transfer room owner
  • virtual scroll
  • make simple-git-hooks can work