To begin with, it is important to note that, these projects have been sourced from an exceptional Udemy Course.
๐ค Instructed by a proficient and expert educator,
"Maximilian Schwarzmuller".
- Step into my GitHub repository and witness the fruits of my labor in learning ReactJS. This array of projects chronicles my journey through the course and reflects my growth as a developer.
- Each project has been carefully crafted to showcase my grasp of ReactJS concepts and best practices. Whether it's a basic application or a complex one, this repository attests to my unwavering commitment and zeal for web development.
So, delve into the repository and unearth the diverse projects I have created. I trust you'll find them informative and motivational, and I eagerly await your feedback!
โญ React Essentials ย ย ย โญ Tic Tac Toe
โญ Investment Calculator ย ย ย โญ Sign in Form
โญ Styling React Component ย ย ย โญ Final CountDown
โญ JSX Limitations ย ย ย โญ React Project Management
โญ Online Clothing Shop ย ย ย โญ Place Picker App
โญ Simple Login ย ย ย โญ React Quiz
โญ Food Order Application
-
In this project, I have utilized the fundamental concepts of ReactJS such as
Components
,JSX
,Props
, andState
. The aim of this project is to demonstrate how these concepts can be effectively used in building a functional application. -
The project showcases the dynamic rendering of content and images, with separate components like Header and CoreConcept being extracted from the main App component.
-
Furthermore, to enhance the flexibility of my components, I have utilized Forwarding Props (or Proxy Props) to pass down props to child components without having to manually specify each one.
-
I have also implemented two JSX Slots in my components to allow for dynamic content insertion.
-
Additionally, I have experimented with setting component types dynamically.
-
Lastly, I have leveraged hooks like useState and passed custom arguments to Event Functions to optimize the functionality of my components.
React EssentialsOverall, this project serves as a simple yet effective demonstration of the essential concepts of ReactJS. Feel free to explore the code and learn from it!
React-Essentials.mp4
- Tic Tac Toe is a classic game that has been enjoyed by people of all ages for generations. It is a two-player game where each player takes turns marking a 3x3 grid with their symbol (either X or O) until one player successfully places three of their symbols in a row, column, or diagonal.
- Overall, this Tic Tac Toe application is a fun and interactive way to experience the classic game while also demonstrating my proficiency in React development.
In this project, I have undertaken an in-depth exploration of numerous key concepts.
๐ Which Concepts Have I Covered :
- ๐ Splitting Components by feature ย ย ย ๐ Reusing Components
- ๐ Conditional Content - A Suboptimal Way Of Updating State
- ๐ Updating State Based On Old State
- ๐ Rendering Multi-Dimensional Lists
- ๐ Updating Object State Immutably ย ย ย ๐ Lifting State Up
- ๐ Computed Values - Avoid Unnecessary State Management
- ๐ Deriving State From Props ย ย ย ๐ Sharing State Across Components
- ๐ Lifting Computed Values Up ย ย ย ๐ and several other concepts as well.
TicTacToe-Game.mp4
- React-powered Investment Calculator
- In this project, the website visitors can use to calculate the future value or multiple future values for given investment parameters.
๐ Which Concepts Have I Covered :
- ๐ Build an "Investment Calculator" Web App
- ๐ Build, Configure & Combines Components
- ๐ Manage Application State ย ย ย ๐ Output List & Conditional Content
- ๐ Handling Events | Using Two-Way-Binding ย ย ย ๐ Lifting State Up
- ๐ Computing Values | Properly Handling Number Values
Investment-Calculator.mp4
The main objective of this project is to enhance the visual appearance of "React applications" by applying various styling techniques.
โ The web page is not functional as clicking "Create a new account" or "SIGN IN" does not do anything.
โ However, entering invalid credentials will highlight the input fields with a red background color and border, indicating that conditional styles are present.
-
Initially, I will utilize Vanilla CSS to style the application.
-
After that, I will switch to CSS-in-JS styling using "Styled Components".
-
Finally, in the last step of the project, I will modify the style of the application using Tailwind CSS.
SignIn-Form.mp4
Throughout my work on this project, I focused solely on the styling of the React Component
, which had already been developed and provided to me.
- I practiced utilizing various styling techniques such as
Inline Styles
,Styled Components
, andCSS Modules
. - By applying these techniques, I was able to modify the appearance of the component to meet the desired design specifications.
Stylin-ReactComponent.mp4
This section is about Refs
and Portals
. Two slightly more advanced React concepts which you definitely don't need in all React apps you are going to build.
๐ In this project, I have undertaken some key concepts :
- ๐ Accessing DOM Elements with
Refs
ย ย ย ๐ Managing Values with Refs - ๐ Forwarding Refs to Custom Components using
forwardRef
function - ๐ Exposing Component APIs via the
useImperativeHandle
Hook - ๐ Detaching DOM Rendering from JSX Structure with
portals
Final CountDownIt is kind of a Game where website visitors can start different timer challenges with the goal of estimating when time is up and stopping the timer early enough before it expires.
Final-CountDown.mp4
Throughout my work on this project, I focused solely on the JSX Limitations
, which had already been developed and provided to me.
๐ Which Concepts Have I Covered : :
- ๐ One JSX Limitations is you can't return more than one "root" JSX element :
- Creating a custom Wrapper Component
"Fragments"
like React fragments can help us overocome JSX limitations.
- Creating a custom Wrapper Component
- ๐ Getting a Cleaner DOM with
"Portals"
- ๐ Working with
"Refs"
- Project management is a system that allows users to create and manage multiple projects in one place. Users can add new projects, select a desired project to open, and then add tasks within the project. Tasks and projects can be cleared, or deleted as needed.
This system helps users stay organized and on track with their project goals.
For this project, I plan to incorporate all the concepts covered in the course up to this point.
๐ Which Concepts Have I Covered :
- ๐ Configure & Re-use
Components
- ๐ Managing
State
to Switch Between Components - ๐ Access DOM Elements & Browser APIs with
Refs
- ๐ Collecting User Input with Refs, using
ForwardRef
- ๐ Validating User Input & Showing an Error Modal via
useImperativeHandle
- ๐
Prop Drilling
ย ย ย ๐ Styling viaTailwind CSS
Project-Management.mp4
- During the course of this project, my primary focus was dedicated to devising solutions for the issue of Shared-State (
Prop Drilling
), which had already been developed and provided to me. - It is important to note that this establishment does not constitute a comprehensive online retail platform, rather, it serves solely as a shop with functionality limited to the cart feature.
๐ Which Concepts Have I Covered :
- ๐ Working on solutions for the problem of Shared-State(
Prop Drilling
) - ๐ Embracing
Component Composition
ย ย ย ๐ Sharing State withContext
- ๐ Managing complex state with
Redusers
Online-Clothing-Shop.mp4
-
This application is a Place Picker that enables us to select destinations we may want to visit in the future.
-
It also provides the option to remove places from our list if we decide not to visit them.
-
You must
allow browser location
access to retrieve places based on your current location.
๐ Which Concepts Have I Covered :
- ๐ Understanding
Side Effects & useEffect()
- ๐
How to use
useEffect() ย ย ย ๐ How to manage useEffect()Dependencies
- ๐
When NOT
to use useEffect()
Place-Picker.mp4
- In this project, the authentication process is not authentic.
- All you need is a valid email address and a password with a minimum length of 7 characters.
- Once you click on the login button, you will be directed to the welcome screen, and the log out button will return you to the previous page.
๐ Which Concepts Have I Covered :
- ๐ Working with (Side) Effects ย ย ย ๐ Managing more complex State with Reducers
- ๐ Managing App-Wide or Component-Wide State with Context API
- ๐ Working with forwardRef & useImperativeHandle
Simple-Login.mp4
- This React Quiz Application is a comprehensive and engaging platform designed to test your knowledge of React concepts, including side effects and many other key topics.
- With a wide range of multiple choice questions, users can challenge themselves and enhance their understanding of React while having fun.
- Whether you're a beginner looking to learn more about React or an experienced developer wanting to test your skills,
this quiz app is the perfect tool for expanding your knowledge and honing your expertise in React.
In this project, I have undertaken an in-depth exploration of numerous key concepts.
๐ Which Concepts Have I Covered :
- ๐ Deriving
Computed-Values
from State ย ย ย ๐ Updating State based on Old-State - ๐ Working with
useEffect
to Manage setTimeout and setInterval - ๐ Workin with
useCallback
to Skipping re-rendering of components - ๐ Using Effect
Cleanup Functions
ย ย ย ๐ UsingKeys
for Resetting Components - ๐ Splitting Components Up ย ย ย ๐ Moving State Down
React-Quiz.mp4
- This project serves as a larger application that integrates all the key concepts I learned throughout the course.
It provides a context to see these concepts in action within a bigger project, covering essential React features like Components, State, and more from the basics. - This project is a basic Food Order App that features a menu of available meals for selection. Users can choose meals from the menu and add them to their cart, with the ability to adjust quantities as needed.
In this project, I have undertaken an in-depth exploration of numerous key concepts.
๐ Which Concepts Have I Covered :
- ๐ Set up the Components and then Isolate them.
- ๐ Working with
re-usable & pre-styled
Utilities Component - ๐ Adding a Modal via a
React Portal
- ๐ Managing State & Props with
Prop Drilling
instead of using Context to make Modal more re-useable & does not tie it to one specific case. - ๐ Work with
Context
to Manage all Cart Data through Context - ๐ Utilizing the
Reducer
Hook to handle the Addition and Removal of items from the Cart - ๐ State & Conditional Rendering
- ๐ Working with
Refs
&Forward Refs
- ๐ Using the
useEffect
Hook - ๐ Using
CSS Modul
for Styling
Food-Order-App.mp4
ย ย ย ย ย ย ย ย ย ย ย ย