Skip to content

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

Notifications You must be signed in to change notification settings

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


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


A responsive photo gallery application.
Features:

  • Image grid layout
  • Responsive design
  • Interactive navigation

Photo Gallery Screenshot
Photo Gallery Screenshot


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


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

No packages published