Coder Social home page Coder Social logo

market-share-chat's Introduction

Market Share Chat

A chat app build with NodeJs, Typescript and React

Available features and flow:

  • New users can sign up
  • Registered users can log in and talk with other users in a chatroom and then log out
  • Users can post messages as commands into the chatroom with the following format /stock=stock_code
  • When a user post a valid command, a decoupled bot will call the Stooq API using the received stock_code to get a CSV with quote informations
  • The Bot will parse the received CSV file and then post a message to a RabbitMQ queue with the quote info.
  • Then RabbitMQ will send the message to the subscriber( chat server) and the chat server will build a message and send to the chatroom using the following format: “{stock} quote is ${close value} per share”. This message owner will be the bot.
  • Chat messages are limited to the last 50 messages.

Possible future features:

  • Multiple chat rooms and an option to choose a room or create a new room
  • Store room and chat data on DB (encrypt messages)
  • Show online users on screen

Known mistakes:

  • Message Id is hardcoded
  • Default room info is harcoded
  • No unit tests

To run this project, follow these steps :

market-share-chat's People

Contributors

dependabot[bot] avatar leo2d avatar

Watchers

 avatar

market-share-chat's Issues

Create database automatically

On the most recent version, we still need to create the database manually.

I think that this could be simpler, so I'm opening this issue to find a way for TypeORM to do this job by itself on the application startup or the first connection.

No unit tests?

Yeah, in the latest version we still without unit tests.

I'm opening this issue to create unit tests for the most important rules and actions. For now, we don't need to test the front end.

If I could, I would like to suggest Jest for the unit tests.

Where are the logs?

Let me ask you, Leonardo...

If Something gets wrong with one of your services, how do you pretend to know this? Magic? An elf will tell you?

Please, don't do this with me, add a decent log at these projects, man.

Too much work for setup the back-end services

More than 5 steps for setup and running each backend service? Really?

This doesn't smell well. Deploys theses apps can be a real nightmare. Please, make it easier.

I suggest dockerizing these services as soon as possible.

Then, don't forget to update the docs with new instructions to run these apps.

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.