Skip to content

DevRodrigocs/react-exercises

Repository files navigation

React Projects

A curated collection of React projects built to explore and practice modern web development concepts.
Each project focuses on a specific skill, from state management to conditional rendering and styled components.

This repository contains React exercises developed as part of my learning journey in modern web development.


πŸš€ How to Run

  1. Clone the repository
    git clone https://github.com/your-username/react-exercises.git
  2. Install dependencies
    npm install
  3. Start the project
    npm start

πŸ“‚ Projects Included

πŸ“ Quiz

An interactive quiz application with multiple-choice questions.
Features:

  • Dynamic question rendering
  • Real-time score tracking
  • Final result display

Quiz Screenshot
Quiz Screenshot Quiz Screenshot Quiz Screenshot


A component that demonstrates React’s useReducer hook for managing complex state in a to-do list application.

Features:

  • Add, edit, and delete tasks
  • Mark tasks as completed
  • Centralized state management using reducer logic
  • Clean UI for task interaction

Reducer Screenshot
Reducer Screenshot Reducer Screenshot Reducer Screenshot Reducer Screenshot Reducer Screenshot Reducer Screenshot


A component that demonstrates how to control a video element using React state and effects.

Features:

  • Play and pause video programmatically
  • Syncs video playback with component state
  • Demonstrates useRef and useEffect for DOM manipulation

Real Effect Video Player Screenshot Real Effect Video Player Screenshot


A simple interactive chat application with message history.

Features:

  • User name input and validation
  • Real-time message sending and display
  • Message history with user/bot distinction
  • Responsive and modern UI

Chat Screenshot Chat Screenshot Chat Screenshot Chat Screenshot Chat Screenshot Chat Screenshot


πŸ—‚οΈ Context With Reducer

An exercise demonstrating how to combine React Context API with the useReducer hook for advanced state management.

Features:

  • Global context for managing a list of posts
  • Uses reducer logic for predictable state updates
  • Persists posts in local storage
  • Example of dispatching actions from any component
  • Clean separation of context and reducer logic

Context With Reducer Screenshot
Context With Reducer Screenshot Context With Reducer Screenshot


A fun rating system where users can evaluate using emojis.
Features:

  • Emoji-based rating selection
  • Instant visual feedback
  • Simple and intuitive interface

Rating Screenshot
Rating Screenshot
Rating Screenshot
Rating Screenshot
Rating Screenshot


πŸ§‘β€πŸŽ“ Student Grades

A grade management tool that displays and calculates student performance.
Features:

  • Student list rendering
  • Grade calculation and results
  • Organized layout for readability

Student Grades Screenshot


πŸ“Έ Photo Gallery

A responsive photo gallery application.
Features:

  • Image grid layout
  • Responsive design
  • Interactive navigation

Photo Gallery Screenshot
Photo Gallery Screenshot


πŸ–οΈ Greeting Condition

An app that shows different greetings depending on conditions (like time or user input).
Features:

  • Conditional rendering
  • Personalized messages

Greeting Screenshot


✍️ Full Name

A simple form to display and update a user's full name.
Features:

  • Real-time input handling
  • Dynamic text display

Full Name Screenshot Full Name Screenshot


A component that demonstrates React’s useEffect for side effects and cleanup. Features:

  • Logs messages on mount and unmount
  • Shows how to use cleanup functions in useEffect

Square Effect Cleanup Square Effect Cleanup


A component that demonstrates React’s useEffect for handling side effects in functional components.

Features:

  • Executes code when the component mounts and updates
  • Demonstrates dependency arrays in useEffect
  • Shows how to perform actions like logging or fetching data
  • Includes cleanup logic to prevent memory leaks

Effects Example Effects Example Effects Example


A simple exercise demonstrating the use of React Context API.

Features:

  • Displays the number of online users
  • "Ban all" button that resets the counter
  • Uses Context.Provider and useContext to share state

Context Screenshot
Context Screenshot


A simple exercise demonstrating the use of React Context API to handle user authentication state.

Features:

  • Provides a global context for the logged-in user
  • Displays the current logged user information
  • Example of consuming context with useContext
  • Clean and minimal structure for learning purposes

Context Logged Screenshot
Context Logged Screenshot


πŸŒ™ Dark Theme

A simple exercise demonstrating how to implement a dark/light theme toggle using React Context API.

Features:

  • Global theme state managed via context
  • Toggle between dark and light modes
  • Example of custom context provider and consumer
  • Minimal UI with a theme switch button

Dark Theme Screenshot
Dark Theme Screenshot

πŸ› οΈ Technologies Used

  • React β†’ Component-based UI
  • TypeScript β†’ Static typing & safer code
  • Tailwind CSS β†’ Utility-first styling
  • Next.js β†’ Framework setup

πŸ“„ License

This repository is licensed under the MIT License.

About

A curated collection of React projects built to explore and practice modern frontend development concepts.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors