Git Product home page Git Product logo

fizzbuzz's Introduction

fizzbuzz

Hello, human.

Your goal is to demonstrate your ninja coding skills by writing a producer-consumer demo dashboard using Docker, python3, and a bit of magic.

Please fork this repo (you may opt to share a private repo with us to preserve your privacy) and then do the following:

  • Create a branch in your forked repo
  • Create containers to model a producer-consumer pattern: (1) a producer in python that generates 10 POST requests within 100 ms, once per second at the start of the second, and (2) a consumer in python that receives the requests and stores the requests and their arrival time. The POST payload will be the message number, counting up from 0, and the transmission time recorded on the side of the producer container. (3) Put a queue between the producer and the consumer (e.g. https://python-rq.org/).
  • Show in an ipynb notebook that:
  • The API of the consumer is receiving POST requests.
  • The consumer container is storing the received POST requests in a database (e.g. SQL, Elasticsearch, MongoDB, etc).
  • Create a page that can be reached on localhost, which shows the highest number in the consumer database so far, and the average transmission time of messages received in the past 10 seconds (time arrived minus time sent is the time to transmit). Design the page so that it updates as the numbers are added to the database. Updates every second will probably look nicer than super super fast page updates. Use your own judgement to decide how to make the page.
  • Wrap the producer, consumer, and queue into a docker container that uses the containers above. If your database is containerized, or you used nginx or something, there may be more containers in the mix, and that's totally fine. docker-compose would be nice to see.
  • Write a script to launch the example
  • Create a pull request and you can approve it yourself and merge the branch into trunk
  • Document the process for using your updated repo in README.md so that we can try out your demo ourselves

Please spend minimal effort on graphics and UI, as this is not a test of your UI coding skills. If you use a web framework like Laravel that's totally cool. Just don't stress on frontend stuff.

fizzbuzz's People

Contributors

dcshapiro avatar narsi97 avatar

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.