Razor Labs Full Stack - Home
Exercise
Background
We are going to build a system that manages machine insights.
The system is responsible for uploading new insights and searching for existing
ones.
Task
1. Create a web server that supports 2 functionalities (with Python &
FastAPI):
a. Create a new insight:
i. Input
2. 3. ii. Output
1. 1. created_at (datetime)
type (one of the following: bearing/gear/motor)
severity (one of the following: healthy/alarm/critical)
diagnostic_id (uid) - the id of the diagnostic that was
created
b. Get insights:
i. Input
1. from_date (datetime)
ii. Output
1. list of all the diagnostics information from the given
date until now
2. Create a dashboard that utilizes the web server capabilities (React)
a. The design is defined in Zeplin project:
i. User: razor-ex@razor-labs.com
ii. Pass: RazorEx1337
b. Table
i. Diagnostics should be sorted by date and then by severity
c. Fusion trend graph:
i. On each day the most severe diagnostic will be displayed (if
there are several diagnostics, just choose one)
ii. On hover, a tooltip should be shown next to the point with
the fault type (currently in the design it shows the severity)
iii. You can choose any tool you want to create the graph - the
layout does not have to be the same in this case
d. Add new diagnostic:
i. Add basic validation on the front
General guidelines:
1. 2. 3. No need to set up a real DB, you can just use an in-memory mock.
Implement a few tests to verify your work.
This about the code readability, and complexity (years of diagnostics).
Delivery:
1. 2. Your code and installed libraries.
A short video (30 seconds) that shows the dashboard functionality in your
environment
if u applying for frontend do only the second part