Overview
Build a Mini Incident Dashboard using React, TypeScript, and GraphQL. This exercise mimics what we mostly do day-to-day at Corelight within the Investigator app. It assesses how you structure components, handle data with GraphQL, and use TypeScript effectively.
Main Goal: Build a Functional Incident Management Interface
Your task is to build a user-friendly interface that enables the following core functionalities:
- View a list of security incidents, including key details like title, description, severity, and status
- Create new incidents through a form
- Edit existing incidents to update any field
- Delete incidents, with a confirmation step to prevent accidental removal
Requirements
Tech Stack
- React (with Hooks)
- TypeScript
- GraphQL (Apollo Client or urql)
- React Context or custom hooks for shared state
Features
Core
- Incident List
- Show all incidents with title, description, severity, and status
- Severity should display with a badge (e.g., color coded)
- Add Incident
- Form for creating a new incident
- Fields: title, description, severity, status