Skip to content

We are recruiting full-stack developers for product development. Fork this repo, code with segregated front-end and back-end folders, submit for positions.

Notifications You must be signed in to change notification settings

mindwebs/mern-hiring-challenge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 

Repository files navigation

MERN Stack Hiring Challenge

Mind Webs Ventures actively hires full stack developers who can be part of the product development teams in order to make the organization grow.
If you are willing to apply for any open position, Fork this repository, complete your code and submit it. The codebase should have a dedicated front-end and back-end folder.

After publishing your fork and completing your code, you should email your repository link with a cover letter why you want to join our organization at careers@mindwebs.org

Task Description

Keshav, a 16-year old, young innovator has built a unique solution to automate street lights. His solution provides automatic turning them on and off, reporting its health and functional condition alongside providing a mesh based Wi-Fi hotspot across the zone it is implemented. He pitches the idea to the local municipal community and they promise his award winning idea all support to run a pilot over an urban zone of five square kilometres.
The zone however looks like a piece of pie with the parent server (providing data and connection) located at the corner (vertex) of the plot.

1

Visual Understanding of a Map with Servers at a corner location.

Now Keshav decides to make the most effective use of the plot and implement his solution using Tree Topology to accommodate the entire area. Each device (node) he has devised in a way that is capable of taking the internet from one device in one direction and again stream the internet to 2 or more devices in the other three directions. Here's what he has planned so far.

2

But the municipal corporation wants to visualise and understand faults happening across the street light system using a web dashboard. Keshav having no idea of web development seeks your help in assisting him to build a web dashboard for the same.

Keshav expects his dashboard to allow him to do the following -

  • Add multiple nodes by simply feeding the street address, latitude and longitude of the street lamp. You should store this data in the database of your choice. All data should be effectively maintained in the database.
  • Each node will have a Boolean value known as functional which will store the operating condition of the node.
  • Implement links between the nodes to visualise how each node is getting network from an upper node. The linking logic should be provided to Keshav as a document for him to understand how it works.
  • Show the tree of all nodes (as clickable dots in the system) in a single page while clicking them can display their details and if it’s functional or not.
  • Zoom across the tree to visualise the links and the links (branches) will be of green colour to show that it’s functional.
  • In case if any node is non functional, it should be shown in red and all links that are getting internet from it should also be red recursively.

Keshav however hopes to help you with the following hand drawn sketch of what he is willing to see.

3

If a node goes down, all its child nodes also become down.

Bonus Part - Keshav also promises you a chocolate if you can provide him -

  • An API to update the statistic of the node that takes in the node id and the functional variable and updates it.
  • And as soon as any nodes become non-functional the dashboard changes in real-time using something called sockets that he got to know over the internet.

- End of Task Description -

TL;DR - You will need to create a single dashboard for visualization of tree based nodes for a set of smart lights that are interdependent on each other. How the visualization works and logic is described above. The bonus part ensures a higher probability of the selection.

About

We are recruiting full-stack developers for product development. Fork this repo, code with segregated front-end and back-end folders, submit for positions.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published