Git Product home page Git Product logo

chatbackend-nodejs's Introduction

Requirements

Node.js 8.9.0 LTS

How to start

Note for Windows

The npm command fails on some Windows systems. When you get a error on start like:

Error: [email protected] start: DEBUG=hackathon:* node ./bin/www

use the "run.bat" file to start the server.

API Reference

  • To access the endpoints you need to set the header attribute "Content-Type" to "application/json".
  • The responses are jsend formated.

Success

  • { status: 'success', data: (object|null) }

Error

  • { status: 'error', message: 'short error message' }
HTTP METHOD POST GET PUT DELETE
CRUD OP CREATE READ UPDATE DELETE
/chats/1234 Send message to room List all messages from room Clear room
/messages/1234/like Like message Get message likes Revoke like
/rooms Create new room List all rooms
/rooms/1234 Get room properties Edit room Delete room
/rooms/1234/users Join user Get room members Remove user
/users Create new user List all users
/users/1234 Get user properties Edit user Delete user
/random/meme Get random meme and picture
/random/chuck Get random chuck norris joke

Payloads

Chat

Room

  • { "name": "Test room" }

User

  • { "name": "Daniel" }

Message Like

  • { "user_id": 1234 }

Socket

Events:

  • chats.cleared - All messages from room removed
    • Payload: { room_id }
  • chats.new_message - New message received
    • Payload: { user_id, room_id, message_id, create_date, millisecond }
  • messages.liked - Message was liked by one user
    • Payload: { user_id, message_id, create_date }
  • messages.like_revoked - Message like was revoked
    • Payload: { user_id, message_id, create_date }
  • rooms.created - New room created
    • Payload: { id, name, create_date }
  • rooms.changed - Room properties changed
    • Payload: { id, name, create_date }
  • rooms.deleted - Room deleted
    • Payload: { id, name, create_date }
  • rooms.user_joined - User joined a room
    • Payload: { user_id, room_id, create_date }
  • rooms.user_left - User left a room
    • Payload: { user_id, room_id, create_date }

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.