For this challenge I built a small consent collector. It's basically two components, a form for collecting consents and a table displaying them.
As part of the requirements I used material's UI data grid component which takes care of the table. I originally did build the table myself along with server-side pagination which is still available somewhere in the commit history.
For styling I used CSS modules with SASS.
I used a flat project structure, preferring clearly named components and files to a nested structure, it makes the entire project easy to follow.
npm install
npm start