Technologies | Project | Diagram | How to run | License
This project was developed with the following technologies:
API that implements a chat, using WebSocket, with instant message. Who is going to consume the API can customize some informations like: if the chat will be enabled or not, if the chat will have a default initial message, etc. And registration of users who will access this chat.
The conversation history will be kept so that when the user returns, he will be able to access the oldest messages.
Prerequisites:
Download and install Node.js and Yarn.
- Clone the repository
git clone https://github.com/erickmp07/chatty.git
- Install the dependencies with
yarn
command:
yarn
To start the server:
yarn dev
The application can be accessed at localhost:3333
.
The available routes are:
# GET - Go to the chat page for support
http://localhost:3333/pages/client
# GET - Go to the admin page for support
http://localhost:3333/pages/admin
# POST (JSON) - Create Setting
http://localhost:3333/settings
body: {
"username": "admin",
"chat": true
}
# GET - Find Setting by Username
http://localhost:3333/settings/:username
# PUT (Params + JSON) - Update Setting enabling the Chat
http://localhost:3333/settings/:username
body: {
"chat": true
}
# PUT (Params + JSON) - Update Setting disabling the Chat
http://localhost:3333/settings/:username
body: {
"chat": false
}
# POST (JSON) - Create User
http://localhost:3333/users
body: {
"email": "email@domain.com"
}
# POST (JSON) - User sends Message
http://localhost:3333/messages
body: {
"user_id": "user_id",
"text": "user message"
}
# POST (JSON) - Admin sends Message
http://localhost:3333/messages
body: {
"user_id": "user_id",
"text": "admin message",
"admin_id": "admin_id"
}
# GET - Show all Messages by User
http://localhost:3333/messages/:user_id
Prerequisites:
Download and install Docker
- Pull the image with the command:
docker pull erickmp07/chatty:latest
- Run the image with the command:
docker run -p 49160:3333 -d erickmp07/chatty
The application can be accessed at localhost:49160
.
The available routes are:
# GET - Go to the chat page for support
http://localhost:49160/pages/client
# GET - Go to the admin page for support
http://localhost:49160/pages/admin
# POST (JSON) - Create Setting
http://localhost:49160/settings
body: {
"username": "admin",
"chat": true
}
# GET - Find Setting by Username
http://localhost:49160/settings/:username
# PUT (Params + JSON) - Update Setting enabling the Chat
http://localhost:49160/settings/:username
body: {
"chat": true
}
# PUT (Params + JSON) - Update Setting disabling the Chat
http://localhost:49160/settings/:username
body: {
"chat": false
}
# POST (JSON) - Create User
http://localhost:49160/users
body: {
"email": "email@domain.com"
}
# POST (JSON) - User sends Message
http://localhost:49160/messages
body: {
"user_id": "user_id",
"text": "user message"
}
# POST (JSON) - Admin sends Message
http://localhost:49160/messages
body: {
"user_id": "user_id",
"text": "admin message",
"admin_id": "admin_id"
}
# GET - Show all Messages by User
http://localhost:49160/messages/:user_id
Licensed under MIT license.