raymondl5490 / emergency-incident-frontend

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Emergency Incident

This project is a web application designed to enrich emergency incident data and provide better analytics for a fire department. It allows users to import existing incident data in JSON format and fetch weather data for the incident location at a certain time. The enriched data is displayed on a map for easy validation.

Installation & Running

node -v # v18.16.1
npm install
npm run start

Background

Enrich 911 emergency incident data to provide better analytics for a fire department.

Task

Given an incident data, enrich it and then display the location and data on a map for easy validation. Try to utilize best practices where possible given available time.

Enrichments

  • Weather at the time of the incident (use a weather service of your choice, but https://dev.meteostat.net/ does include free historical queries).

Notes

  • Example incidents are provided in the data folder.
  • We will test the project with an arbitrary incident file that is also from Richmond, VA and in the same format.
  • It would be sufficient for the app to only handle one CAD file at a time.
  • The incident location and attributes should be displayed on a map in the browser.
  • You can enrich the incident and get it on a map however you wish.
  • We would like for you to spend up to 4 hours. It is okay if you spend less time or more time so long as you return the project withing 24 hours of receiving it.
  • Use technology stack and approach of your choice.

Hints

  • There are many correct ways to complete this task
  • We do not expect a Production-quality deliverable for this exercise. For some tasks, it may be sufficient to add appropriate comments of the nature "In a real, Production system, I would additionally do this..."
  • We recognize that spending only four (4) hours means that you can only work on a limited implemention which is likely far from everything that you would like to do. Part of the exercise involves using your good judgment regarding what you actually will implement.
  • You are absolutely free to spend more than 4 hours if you like (there is no penalty for doing so), but the completed project must be checked-in with 24 hours
  • The most important criterion for evaluation is whether your project actually works. Whatever is delivered must be runnable. A project with a smaller amount of work that actually runs is far more valuable than a larger project that does not work or does not work correctly.
  • Do not become discouraged. Only candidates whom we believe will be successful are advanced to this stage of the recruiting process. You can do this!

Deliverable

  • Link to a Github repository with your commits as you originally made them. Do not squash them or just have a single commit.
  • There should be a README in the repo with the following section:
    • Steps to install and run your app. Assume the user will be on OSX but if you do not have access to OSX machine, provide needed steps to run your app on any other OS.
    • What improvements would you make or best practices would you utilize if you had double the time?
    • About how much time did you spend on the project?
  • If you completed the project, add a few screenshots to the repo that show the working version as running on your machine.

About


Languages

Language:JavaScript 52.8%Language:HTML 32.8%Language:CSS 14.4%