Skip to content

Instantly share code, notes, and snippets.

@erickwize
Last active March 24, 2023 02:45
Show Gist options
  • Save erickwize/d7311bfc972080c162c43cbb7dc80587 to your computer and use it in GitHub Desktop.
Save erickwize/d7311bfc972080c162c43cbb7dc80587 to your computer and use it in GitHub Desktop.
Wizeline Academy - 2021 React Bootcamp Project

Wizeline Academy - 2021 React Bootcamp Project

Introduction

Thank you for participating in the 2021 React Bootcamp! Here you will find the instructions to complete your project.

The purpose of this assignment is for you to demonstrate your React skills. This is your chance to show off everything you've learned during our bootcamp and earn your diploma.

The idea is that you build and deliver an entire React application on your own. We don't want to limit you by providing some "fill-in-the-blanks" exercises, but instead ask you to build it from scratch. We hope you find this project challenging and engaging.

The goal is to create a YouTube client app.

We've created a demo application: https://react-certification-2020.netlify.app/

NOTE: Use wizeline as the username and Rocks! as the password to log in

Main Functionalities

These are the main features required for the project:

  • Home View
    • Search and display a list of videos using YouTube API.
  • Video Details View
    • Display the selected video and its information.
    • Display a list of related videos.
    • Allow users to mark videos as favorites.
  • Login
    • Implement a mocked login and store the logged-in user data in a browser, it should be persistent and globally accesible from a Context.
  • Favorite Videos List
    • Display the favorite videos on a private route.
  • Favorite Video Details View
    • Display the selected favorite video and its information.
    • Display the list of other favorite videos.

NOTE: You should use the demo application just as a guide and as a trigger for your own ideas. It's not mandatory to reproduce the exact same styling nor to stick only to the main features listed above. Feel free to extend the functionalities if you want some bonus points ;)! This is YOUR project and you can be as creative as you like.

We won't share the project's source-code until the bootcamp is completed and all the participants deliver their own implementations (we don't want to bias your solution).

General Requirements

These are the main requirements we will evaluate from your deliverables:

  • Apply everything you've learned during our bootcamp:
    • Functional Components
      • React Hooks
      • Custom Hooks
    • Styled Components
    • State Management with React Context
    • React Router
      • Public and private routes
    • Fetch results from YouTube API
      • Search videos by name
      • Get related videos
    • User Authentication
    • Testing Coverage (~70%)

Try to keep the use of third party libraries to the minimum, especially the ones related to the topics covered in our bootcamp, e.g., you can use a CSS framework (such as Bootstrap) if that makes you feel more comfortable and move faster, but we will still want you to develop and deliver meaningful styled-components.

Deliverables

The project is divided into 5 mini-challenges, you will have to solve each one at the end of each module so we can evaluate what you've learned.

Important: Please beware that all mini-challenges must be solved in order and incrementally.

Submitting the deliverables

For submitting your work, you should follow these steps:

  1. Fill the form to submit your project
  2. Projects must be forked from the baseline repo
  3. Please make sure that your forked repo is public
  4. Submit your deliverables as a Pull Request (PR) in a new branch derived from master/main on your own GitHub account
  5. Remember to submit your deliverables on time to be successfully evaluated

Remember to always use your creativity!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment