Time Expectation: Approximately 4 hours
Challenge Overview
Build a full-stack application that allows users to browse and manage their video library.
Feel free to take any shortcuts you’d like when setting up the project, such as using a template project, libraries, etc.
Requirements
- Have a page that lists videos
- The videos should be laid out in a grid
- For each video, display its
title
, created_at
date, and tags
- Allow sorting based on
created_at
date
- Have a page that allows creating a new video
- It should require you to set
title
.
- For
tags
, allow optionally adding one or more tags.
- For
thumbnail_url
, created_at
, duration
, and views
, you can use default/placeholder values.
- Technologies we’d like you to use: Typescript, React, Node.JS.
Feel free to use anything else you’d like within reason.
- Use the provided
videos.json
to seed your dataset.
- The project can be run entirely on locally, and the setup process is quick and easy.
- Provide a README describing
- Tech stack
- Setup instructions
- Future improvements
Non-functional aspects that we’ll evaluate
- Code quality (structure, readability, consistency, reliability, typing)
- Project structure
- Testing (no need to test all of your code, a few examples are fine)
- API and input validation
- Error handling
- Loading states
- Quality of UX
- README: describe
- Tech stack
- Setup instructions
- Future improvements (not necessarily in terms of more functionality, but more in terms of what you’d polish or implement differently if you had more time)
Provided Resources
videos.json
- Contains array of 50+ video objects with fields: id
, title
, thumbnail_url
, created_at
, duration
(in seconds), views
, tags
videos.json
Submission Guidelines
Submit GitHub repository link containing both frontend and backend code. Include setup instructions in README.