Skip to content

This application allow several users to talk in a chatroom and also to get stock quotes from an API using a specific command.

Notifications You must be signed in to change notification settings

Avto9711/ChatApp

Repository files navigation

ChatApp

This application allow several users to talk in a chatroom and also to get stock quotes from an API using a specific command.

users:

  1. user 1
  • username: user1
  • password: P@$$w0rd36845
  1. user 1
  • username: user2
  • password: P@$$w0rd36845
Features
  • Allow registered users to log in and talk with other users in a chatroom.

  • Allow users to post messages as commands into the chatroom with the following format /stock=stock_code

  • Create a decoupled bot that will call an API using the stock_code as a parameter.

  • The bot should parse the received CSV file and then it should send a message back into the chatroom using a message broker like RabbitMQ. The message will be a stock quote using the following format: “APPL.US quote is $93.42 per share”. The post owner will be the bot.

  • Have the chat messages ordered by their timestamps and show only the last 50 messages.

  • Unit test the functionality you prefer.

  • Use .NET identity for users authentication (and authorizations)

  • Handle messages that are not understood or any exceptions raised within the bot.

Technologies
  • 🔘 ASP .Net Core
  • 🔘 SignalR
  • 🔘 ASP .Net Core Identity
  • 🔘 AutoMapper
  • 🔘 Serilog
  • 🔘 NService Bus (Like Rabbit MQ 🐰)

Installation

  • Install Nuget Packages.

  • Update ChatApp.Api and ChatApp.bus projects 'DefaultConnection' and 'NServiceBusConnectionString' connection strings in appsetting.json to your local instance of SQL server. Note: Use the same Database in both connection string.

  • Set up ChatApp.Api as startup project and open 'Package Manager Console'. Put ChatApp.Model as Default Project within 'Package Manager Console'.

  • Run

Update-Database 

Command to create the database.

  • Once database is created, set ChatApp.Api and ChatApp.Bus as startup projects

  • In case you need, change the Clients URL in the ChatApp.Api appsetting.json if the client app has a different url (http://localhost:8080)

  • Run the App 😄

About

This application allow several users to talk in a chatroom and also to get stock quotes from an API using a specific command.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages