Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains 2 separate commits corresponding with each of the tasks outlined in the test. The changes in each commit are outlined below followed by my thoughts on the overall project:
Add 'Creatives' table in Library page (e05475e)
creatives.repository.ts
) along with the creatives domain (creatives.domain.ts
). This allows for data fetching inside of theapp
folder.creative-library.page.tsx
was updated to fetch the data and store in state.creative-library.table.widget.tsx
was created to display the creative items passed down fromcreative-library.page.tsx
. Note that most of the ui for this table widget was reused from the brand page.NOTES: The bulk of the problem solving for this commit was in trying to understand how all of the different pieces of this project fit together. I have never used graphql in depth so it took some time to figure out how to get the data to the frontend. Once I had a grasp on that though, the UI was very easy to implement.
Add a new 'Sectors' page (31b43dc)
business-settings.routes.ts
and creatingsectors.page.tsx
.sectors.grid.widget.tsx
andsector-card.ui.tsx
files were created to handle the UI.schema.ts
was updated with a specificinterface
that represents the sector data.setTimeout
and the static data was stored intemp-data.ts
NOTES: This feature needs more work but I am working full time and only had a few hours to put towards this challenge. If I had more time I would do the following to improve the code: (1) Move the code for the sector data fetch into a new
sector.domain.ts
file (2) Create a sector repository that does a better job of mimicking the future backend endpoint (3) Add more robust interfaces for theSector
entity inschema.ts
.Proposals for Improvement
General
On the Library page...
On the Sectors page....
Thanks for taking the time to review this! I look forward to meeting and discussing further!