All Projects → benmvp → React Workshop

benmvp / React Workshop

Licence: mit
A step-by-step workshop for learning React fundamentals while building an app

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to React Workshop

Cloud Native Devops Workshop
Oracle's Cloud Native and DevOps Workshop on Oracle Cloud
Stars: ✭ 99 (-42.11%)
Mutual labels:  workshop
Cadl
ARCHIVED: Contains historical course materials/Homework materials for the FREE MOOC course on "Creative Applications of Deep Learning w/ Tensorflow" #CADL
Stars: ✭ 1,478 (+764.33%)
Mutual labels:  workshop
Securekubernetes
Attacking and Defending Kubernetes Clusters: A Guided Tour
Stars: ✭ 146 (-14.62%)
Mutual labels:  workshop
Docker Workshop
Docker Workshop
Stars: ✭ 104 (-39.18%)
Mutual labels:  workshop
Workshop Material
Material for Kubernetes and Istio workshop https://learnistio.com
Stars: ✭ 113 (-33.92%)
Mutual labels:  workshop
Face Tracking P5js
Using facetracking with p5js to create playful or critical web applications
Stars: ✭ 118 (-30.99%)
Mutual labels:  workshop
Big Data
🔧 Use dplyr to analyze Big Data 🐘
Stars: ✭ 93 (-45.61%)
Mutual labels:  workshop
Programming With Data
🐍 Learn Python and Pandas from the ground up
Stars: ✭ 156 (-8.77%)
Mutual labels:  workshop
Advanced React Patterns
This is the latest advanced react patterns workshop
Stars: ✭ 1,899 (+1010.53%)
Mutual labels:  workshop
Org Mode Workshop
Workshop for Org-mode with focus on todo-, project- and workflow-management
Stars: ✭ 141 (-17.54%)
Mutual labels:  workshop
Aspnetcore App Workshop
This workshop has been migrated to https://github.com/dotnet-presentations/aspnetcore-app-workshop
Stars: ✭ 105 (-38.6%)
Mutual labels:  workshop
Voice Powered Analytics
Workshop to build voice enabled integration with data analytics
Stars: ✭ 110 (-35.67%)
Mutual labels:  workshop
Bcs workshop apr 20
Workshop on basic machine learning, computational modeling, psychophysics, basic data analysis and experiment design
Stars: ✭ 134 (-21.64%)
Mutual labels:  workshop
Dl Workshop
Master gradient-based machine learning. Also secretly a JAX course in disguise!
Stars: ✭ 103 (-39.77%)
Mutual labels:  workshop
Sg Aks Workshop
Security + Governance Workshop
Stars: ✭ 153 (-10.53%)
Mutual labels:  workshop
Aspnetcore For Beginners
Half day workshop for developers who are completely new to .NET Core and ASP.NET ASP.NET
Stars: ✭ 96 (-43.86%)
Mutual labels:  workshop
Workshop Vuejs
👨‍🏫👩‍🏫🇪🇸 Workshop introductorio a Vue.js en Español
Stars: ✭ 117 (-31.58%)
Mutual labels:  workshop
Workshop
Docker, Kubernetes and Gravity Trainings by Gravitational
Stars: ✭ 1,963 (+1047.95%)
Mutual labels:  workshop
Z3 and angr binary analysis workshop
Code and exercises for a workshop on z3 and angr
Stars: ✭ 154 (-9.94%)
Mutual labels:  workshop
Dl Keras Tf
rstudio::conf(2020) deep learning workshop
Stars: ✭ 137 (-19.88%)
Mutual labels:  workshop

React FUNdamentals Workshop with Ben Ilegbodu

Maintenance Status Build Status license PRs Welcome

Watch on GitHub Star on GitHub Tweet

A step-by-step workshop to build a React application, all while learning React fundamentals. Best if accompanied with live facilitation by me 🙂.

Pre-Workshop Instructions

In order to maximize our time during the workshop, please complete the following tasks in advance:

  • [ ] Set up the project (follow setup instructions below)
  • [ ] Install and run Zoom on the computer you'll be developing with (for remote workshops)
  • [ ] Set up dual monitors for live coding, if possible (for remote workshops)
  • [ ] Install React Developer Tools for Chrome (recommended) or Firefox
  • [ ] Install a JSX-friendly code editor, such as Visual Studio Code
  • [ ] Brush up on modern ES.next features, if they are unfamiliar to you
  • [ ] Have experience building websites with HTML, CSS, and JavaScript DOM APIs

The more prepared you are for the workshop, the better it will go for you! 👍🏾

System Requirements

All of these must also be available in your PATH in order to be run globally. To verify things are set up properly, run:

git --version
node --version
npm --version

If your node version is version 9 or lower, you can install nvm to manage multiple versions of node.

If you have trouble with any of these, learn more about the PATH environment variable and how to fix it here for Windows or Mac/Linux.

Setup

After you have verified that you have the proper tools installed (and at the proper versions), getting setup should be a breeze. Run the following commands:

git clone https://github.com/benmvp/react-workshop.git
cd react-workshop
npm run setup

This will likely take a few minutes to run. It will clone the repo, install all of the JavaScript dependencies needed to build our app, and setup our workshop dev directory.

If it fails, please read through the error logs and see if you can figure out what the problem is. Double check that you have the proper system requirements installed. If you are unable to figure out the problem on your own, please feel free to file an issue with everything (and I mean everything) from the output of the commands you ran.

Running the app

We will be build a Giphy search app step-by-step in this workshop. To get started and verify that everything has been installed correctly, run:

npm start

The app should pop up in your default browser running at http://localhost:3000/. The app should be completely blank because we haven't built anything yet! But you can check out the app deployed online to see what the final state will look like.

For those interested, the app is a standard app bootstrapped by Create React App.

Workshop Outline

Let's learn the React fundamentals! ⚛️

🧔🏾 About Me

Hiya! 👋🏾 My name is Ben Ilegbodu. 😄

🕘 Schedule

Each step in the workshop builds on top of the previous one. If at any point you get stuck, you can find the answers in the source code of the current step. Any step can be used as a starting point to continue on to the remaining steps.

❓ Asking Questions

  • Please interrupt me and ask questions! Others likely will have the same question.
  • However, unrelated questions are better sent to Twitter or my AMA.

🖥️ Zoom Hygiene (for remote workshops)

  • Keep your video on (if possible) to make it feel more human and lively
  • Keep your microphone muted unless your talking to avoid background noise distractions
  • Answer each other's questions in the chat
  • Use breakout rooms to help each other

⭐ FUNdamental Concepts

Here is what you'll come away knowing at the end of the workshop...

  • Using JSX syntax (Step 1)
  • Maintaining component state with useState hook (Step 2)
  • Handling user interaction (Step 2)
  • Making API calls with useEffect hook (Step 3)
  • Rendering dynamic lists of data (Step 4)
  • Conditionally rendering components (Step 4)
  • Handling HTML forms & form elements (Step 5)
  • Writing readable, reusable and composable components (Step 6)
  • Type-checking props (Step 7)
  • Interacting with the DOM directly with useRef hook (Step 8)
  • Factoring out logic from components into custom hooks (Step 9)
  • Leveraging ES6+ to maintain application state with useReducer hook (Step 10)
  • Applying component styling with CSS classes (throughout)

🧠 Elaboration & Feedback

Each step has an Elaboration & Feedback form link at the end. After you're done with the exercise and before jumping to the next step, please take a few minutes to fill that out to solidify your learning.

At the end of the workshop, I would greatly appreciate your overall feedback. Share your workshop feedback.

🤝 Code of Conduct

All attendees, speakers, sponsors and volunteers at this workshop are required to agree with the code of conduct. Organizers will enforce this code throughout the event. We expect cooperation from all participants to help ensure a safe environment for everybody.

👉🏾 First Step

Go to Step 0 - Begin.

License

All of the workshop material is available for private, non-commercial use under the GPL version 3 license. If you would like to use this workshop to conduct your own workshop, please contact me first at [email protected].

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].