Sean Reyboz

CorpsTube

A really cool YouTube "clone" that I built as part of my developer training journey while working at the Digital Corps.

date
tags
  • React
  • Website

Who?

As mentioned in the introduction, this project was part of the React portion of my developer training at the Digital Corps, a Ball State University agency of students, each specializing in a specific field of the current digital life.

The team is composed of UI/UX designers, project managers (PMs), developers, graphic designers, as well as communication and audiovisual specialists, who learn and work together on various real world projects.

Why?

Every new hire at the Corps is given a training program which essentially teaches the student everything they need to know in their preferred field (dev, UI, comm, etc.) to allow them to later work on real world projects for various clients.

I was no exception to the rule, and followed the "development training program", which allowed me to catch up on my React knowledge.

This project was one of many practice exercises focusing on React application.

What?

The CorpsTube project could be broken down into 2 different steps:

  • The styling (UI)
  • The data handling (logic)

As far as the styling is concerned, I was given access to a Figma Draft file which laid out the basics of the UI of the app, as well as all the assets that I would need to build it.

When it comes to the videos, I didn't use the YouTube API, but used the Digital Corps' own YouTube API clone, created by former developer students specifically to practice on large scale REST API and perform CRUD operations, but without the limitations, complexity and the hassle inherent to using something like the real YouTube API.

How?

I decided to kick things off by building the UI first.

To get started, I took a moment to study the Figma file and find patterns, blocks and layouts that would allow me to plan how I would later structure the design in code.

I also exported all the assets needed for the UI into the project file structure, before starting to write the markup for the app.

I chose to start breaking down the UI into React functional components and style them individually using scss.

Once the UI was almost done, I started to switch my focus on the data-handling and the logic of the app.

To do so, I first explored the API that would be used to get all the videos with postman.

Then, I created API helper functions that I would then call from the corresponding component to retrieve the desired data.

Finally, I hooked the UI to the data, and handled other aspects of the app such as commenting, search field, video sorting and video suggestion.

Key Takeaways

In hindsight, I really enjoyed working on this project for multiple reason. The first one is that I found it really interesting to think about how a YouTube-like application would work under the hood.
The second one is that it really allowed me to learn more about React and data fetching techniques, as well as context and data management.

A really great project that really boosted my confidence to work on React projects.

Project Gallery

All the projects