Skip to content

Latest commit

 

History

History
51 lines (43 loc) · 1.91 KB

README.md

File metadata and controls

51 lines (43 loc) · 1.91 KB

Application is fully dockerized

docker-compose up --build

But can also work with manual startup:

Startup

/frontend :3000

npm run dev

/backend :5000 + mysql service

npm run dev

Brainhub's Recruitment task

The application should allow the user to submit a log report by filling in a form with the following fields. The backend will then process the log that the user submits and save the ᴘʀᴏᴄᴇꜱꜱᴇᴅ ʟᴏɢ along with all the other form fields in a database. It will then display a list of ʀᴇʟᴇᴠᴀɴᴛ ʟɪɴᴇꜱ to the user using monospace font. The form should have the following fieldsj e Name (required= e Email (required, valid email address= e Log (required, textarea field) Form

Log

The log can have any number of lines. Each line begins with either E for errors, W for warnings and I for informational messages. Error messages then have a number indicating the severity of the error, between 1 and 100. All types of messages then have an integer timestamp and a textual content which runs until the end of the line. Here are a few valid lines:

  • I 6 Nothing to report
  • W 7 Out for lunch
  • E 42 21 ERROR: Something has gone horribly wrong
  • I 52 Something went wrong while I was out for lunch

A ᴘʀᴏᴄᴇꜱꜱᴇᴅ ʟᴏɢ only has lines which conform to the template described above (other lines are discarded) and is sorted with the timestamps in ascending order. A ʀᴇʟᴇᴠᴀɴᴛ ʟɪɴᴇ is an error line with severity of at least 50. You will find a file with an example log attached to this email.

Criteria

The following criteria are important for us¢ Tests for frontend and backen¡ Data validation on frontend and backen¡ Error handlin¥ State management on frontend (form and request lifecycle state Readme with all information needed to install and run the app and test File and component structur­ Code readability and extensibility