Coder Social home page Coder Social logo

rtchat-server's Introduction

codecov

rtchat-server's People

Watchers

Federico Antuña avatar

rtchat-server's Issues

Add a Chat Hub

The client needs to be able to connect, using SignalR, to a Chat Hub.

Create a Chat Hub that allows the client to connect only if it's authorized.

Acceptance Criteria

  • Chat Hub must have a SendMessage method that receives an OutgoingMessage object. Said object must have the id of the user that will receive the message and the message content.
  • Chat Hub must have an UpdateUserStatus method that receives a string indicating the status that the user will display.
  • Chat Hub must have a StartConversation method that receives the email of the user with whom the caller will start the conversation.
  • When a user connects to the Chat Hub, it's status will automatically switch to online.
  • When a user disconnects from the Chat Hub, it's status will automatically switch to offline.
  • SendMessage method must send a Message object (containing the id of the receiver user, the id of the sender user and the content of the message.
  • UpdateUserStatus method must notify corresponding users of an status update.
  • StartConversation method must send the needed user information to start a conversation to the caller.
  • Only authorized user will be able to connect to the Chat Hub
  • The UserIdnetifier for the Chat Hub must be the same as the user id on Auth0

Check for empty message before sending

Describe the bug
Users can send empty messages

To Reproduce
Steps to reproduce the behavior:

  1. Go to /chat
  2. Search for one online user
  3. Send an empty message (pressing enter)
  4. Message is sent correctly
  5. Repeat with white space (pressing enter and button)

Expected behavior
Empty messages are not allowed and should not be sent

Add CD

Add CD pipeline to deploy in Azure

Set up .NET project

Create a Web Application using the empty template with the following structure

(root)
|_RTChat.Server.sln
|_src
| |_RTChat.Server.API (template)
|_tests
| |_RTChat.Server.API.Tests (xUnit template)

Update the .gitignore to contemplate use of Rider

Wrong codecov badge

codecov badge is wrong.

Currently it's pointing to rtchat-client instead of rtchat-server

Add CI

Add a GitHub Action for CI

Implement a basic messaging system

API should recognize a user and be able to send a message to another user

  • Set up SignalR
  • Read user id from the header (temporary)
  • Receive message and destinatary
  • Send the message

Status updates are not working

Describe the bug
User status updates are not consistent.

To Reproduce
Steps to reproduce the behavior:

  1. Sign In in two browsers (or using incognito) with two different users
  2. Start a chat from user A to user B and send a message
  3. Change status on user A and user B and see that it does not reflect both ways

Expected behavior
When user changes status, it should reflect on other users

Related
fedeantuna/rtchat-client#56

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.