Skip to content

hssanbzlm/chat-rooms-back

Repository files navigation

NodeJS Express.js Redis MongoDB Socket.io JWT Docker Render

Chat-rooms (backend)

This is the backend part of chat-rooms web application.

Project structure

index.js

  • Project entrypoint

server.js

  • Server setup (middlewares,routes,connect to db)

config

  • index
  • development
  • production

routes

  • auth router:
    • /api/auth/is-auth (get)
    • /api/auth/join (post)
    • /api/auth/leave (post)
  • user router:
    • /api/user/add (post)
    • /api/user/update (put)
  • chat-rooms router:
    • /api/chat-room/create (post)
    • /api/chat-room/destroy (delete)
  • messages router
    • /api/messages/get-messages/:list (get)
    • api/messages/get-private-messages/:userId/:list (get)

controllers

  • auth controller:
    • getUserInfo
    • join
    • leave
  • chat-room controller
    • createRoom
    • deleteRoom
  • messages controller
    • saveMessage
    • getMessages
    • getPrivateMessages
  • user controller
    • addUser
    • updateUser

middlewares

  • error
    • errorHandler
    • asyncErrorHandler
  • protect
    • protect
  • user
    • checkUserExist
  • cloudinary
    • saveAvatar
  • multer

utils

  • token
    • signToken
    • verifyToken
  • cookie

listeners (socket)

  • index
  • socket.middleware
  • socket.room-handler
  • socket.private-handler
  • socket.room-utils
  • socket.redis-adapter

logger

  • logger

database

  • mongo.database

models

  • chat-room
  • message
  • user