Skip to content

A repository for practicing frontend development with React, featuring assignments that cover core concepts, state management, routing, and API integration. Ideal for learning how to build and deploy modern web applications.

Notifications You must be signed in to change notification settings

sahil-172002/front-end-Assignments

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 

Repository files navigation

Frontend and React Assignments

Welcome to the repository for practicing frontend development with React. This repository includes various assignments designed to help you build and test your skills in React and frontend development while integrating with backend APIs.

Roadmap

Assignment 1: Create a React App

  • Task: Set up a new React application using Create React App and ensure it runs successfully.
  • Hint: Use npx create-react-app your-app-name to initialize your project.
  • Objective: Understand the basic setup of a React application.

Assignment 2: Static Component

  • Task: Create a static component that displays a welcome message and some static content.
  • Hint: Use functional components and JSX to create and render the component.
  • Objective: Learn how to create and render basic components in React.

Assignment 3: Fetch Data from API

  • Task: Create a component that fetches data from a public API and displays it in a list.
  • Hint: Use fetch() or axios to get data and useEffect to handle side effects.
  • Objective: Practice fetching and displaying data from an API.

Assignment 4: Form Handling

  • Task: Build a form that allows users to input their details and submit the form to an API endpoint.
  • Hint: Use controlled components and manage form state with React hooks.
  • Objective: Learn how to handle user inputs and submit data to an API.

Assignment 5: Routing with React Router

  • Task: Implement routing in your React application using React Router. Create multiple pages and navigate between them.
  • Hint: Use react-router-dom to handle routing and create Route and Link components.
  • Objective: Understand how to manage navigation and routing in a React app.

Assignment 6: State Management with Context API

  • Task: Use React's Context API to manage and share state between multiple components.
  • Hint: Create a context provider and consume the context in different components.
  • Objective: Learn how to use Context API for state management.

Contributing

We welcome contributions from the community! To add your own assignments or improvements, please follow these guidelines:

  1. Fork the Repository: Fork this repository to your own GitHub account.

  2. Create a New Folder: In your forked repository, create a new folder under the assignments directory. Name the folder descriptively based on the assignment (e.g., assignment-11-my-new-feature).

  3. Add Your Assignment: Within your new folder, add the following files:

    • README.md: Provide detailed instructions, objectives, and any necessary code snippets or examples for your assignment.
    • Source Code: Include any source code files related to your assignment. Organize them as needed, following best practices for file structure.
    • Example: If applicable, provide an example or demo of your assignment in action. This could include a sample project or screenshots.
  4. Update Main README: Optionally, you can propose an update to the main README.md file of the repository to include a brief summary of your assignment and a link to your new folder. This can help others discover your contributions.

  5. Submit a Pull Request: Create a pull request from your forked repository to the original repository. Ensure your pull request describes your assignment clearly, including what it covers, how to complete it, and any dependencies or setup required.

  6. Separate Assignments: Ensure your assignments are kept separate from the original ones and organized within their own directories or files. Do not overwrite or modify existing assignments unless intended to improve them.

Skills

By completing the assignments, you’ll gain the following skills:

  1. React Fundamentals
  2. API Integration
  3. Form Handling
  4. Routing
  5. State Management
  6. Authentication UI
  7. Dynamic Routing
  8. Responsive Design
  9. Deployment
  10. Advanced State Management
  11. Performance Optimization
  12. Testing
  13. Server-Side Rendering (SSR)
  14. Progressive Web Apps (PWA)
  15. Advanced User Interactions
  16. Mobile Development
  17. Open Source Contribution

Next Steps

After completing the initial 10 assignments, consider exploring advanced topics such as integrating frontend and backend, optimizing performance, and contributing to open source projects.

By following these guidelines, you'll deepen your expertise in React, frontend development, and full-stack integration, and you'll be well-prepared to tackle more advanced and complex projects.

Assignment 7: Authentication UI

  • Task: Build a login and registration UI with React that interacts with your backend authentication API.
  • Hint: Use form handling and state management to create the authentication interface.
  • Objective: Integrate frontend authentication with a backend API.

Assignment 8: Dynamic Routing with Parameters

  • Task: Create a page that displays detailed information based on dynamic route parameters (e.g., user profile).
  • Hint: Use URL parameters with React Router to fetch and display dynamic content.
  • Objective: Learn how to handle dynamic routing and parameter-based data fetching.

Assignment 9: Responsive Design

  • Task: Ensure your React application is responsive and works well on different screen sizes.
  • Hint: Use CSS media queries and responsive design principles to make your app mobile-friendly.
  • Objective: Understand how to make a React application responsive.

Assignment 10: Deployment

  • Task: Deploy your React application to a cloud platform like Vercel, Netlify, or GitHub Pages.
  • Hint: Follow the platform’s deployment instructions and configure build settings.
  • Objective: Gain experience in deploying a React application to a live environment.

Next Steps

After completing the initial 10 assignments, here are some advanced tasks to further enhance your skills:

1. Integrate Frontend and Backend

  • Task: Combine your React frontend with the backend API developed in your Node.js and Express.js assignments. Ensure seamless communication between frontend and backend.
  • Objective: Understand how to connect and integrate frontend and backend components into a full-stack application.

2. Implement Advanced State Management

  • Task: Explore state management libraries like Redux or Zustand for more complex state management needs.
  • Objective: Learn advanced state management techniques and their application in larger React applications.

3. Build a Feature-Rich Application

  • Task: Develop a feature-rich React application with complex interactions, state management, and backend integration. Consider adding features like user profiles, real-time updates, or advanced search functionality.
  • Objective: Apply your skills to build a comprehensive application that demonstrates advanced React concepts and integration.

4. Optimize Performance

  • Task: Analyze and optimize the performance of your React application. Implement techniques like lazy loading, code splitting, and memoization.
  • Objective: Improve the performance and efficiency of your React applications.

5. Explore Testing Frameworks

  • Task: Write unit and integration tests for your React components using testing libraries like Jest and React Testing Library.
  • Objective: Ensure the reliability of your React components through comprehensive testing.

6. Learn About Server-Side Rendering (SSR)

  • Task: Explore server-side rendering with frameworks like Next.js or Gatsby. Implement SSR to improve performance and SEO.
  • Objective: Understand the benefits and implementation of server-side rendering in React.

7. Build a Progressive Web App (PWA)

  • Task: Convert your React application into a Progressive Web App with offline capabilities and improved performance.
  • Objective: Learn how to enhance your React application with PWA features.

8. Implement Advanced User Interactions

  • Task: Add advanced user interactions such as drag-and-drop functionality, real-time collaboration, or interactive charts and graphs.
  • Objective: Expand your React skills by implementing complex user interactions.

9. Explore Mobile Development

  • Task: Learn about mobile development with React Native. Build a simple mobile application and understand the differences between web and mobile development.
  • Objective: Gain experience with React Native and mobile app development.

10. Contribute to Open Source Projects

  • Task: Find open-source React projects on GitHub. Contribute by fixing bugs, adding features, or improving documentation.
  • Objective: Gain experience working on real-world projects and contributing to the community.

Long-Term Goal

Build a Full-Stack Application with React and Node.js

  • Task: Combine your React frontend with your Node.js backend to build a full-stack application. Focus on creating a cohesive and scalable application.
  • Objective: Apply everything you’ve learned to build a complete, production-ready web application.

By following these next steps, you’ll deepen your expertise in React, frontend development, and full-stack integration, and you'll be well-prepared to tackle more advanced and complex projects.

Contributing

We welcome contributions from the community! To add your own assignments or improvements, please follow these guidelines:

  1. Fork the Repository: Fork this repository to your own GitHub account.

  2. Create a New Folder: In your forked repository, create a new folder under the assignments directory. Name the folder descriptively based on the assignment (e.g., assignment-11-my-new-feature).

  3. Add Your Assignment: Within your new folder, add the following files:

    • README.md: Provide detailed instructions, objectives, and any necessary code snippets or examples for your assignment.
    • Source Code: Include any source code files related to your assignment. Organize them as needed, following best practices for file structure.
    • Example: If applicable, provide an example or demo of your assignment in action. This could include a sample project or screenshots.
  4. Update Main README: Optionally, you can propose an update to the main README.md file of the repository to include a brief summary of your assignment and a link to your new folder. This can help others discover your contributions.

  5. Submit a Pull Request: Create a pull request from your forked repository to the original repository. Ensure your pull request describes your assignment clearly, including what it covers, how to complete it, and any dependencies or setup required.

  6. Separate Assignments: Ensure your assignments are kept separate from the original ones and organized within their own directories or files. Do not overwrite or modify existing assignments unless intended to improve them.

Skills

By completing the assignments, you’ll gain the following skills:

  1. React Fundamentals
  2. API Integration
  3. Form Handling
  4. Routing
  5. State Management
  6. Authentication UI
  7. Dynamic Routing
  8. Responsive Design
  9. Deployment
  10. Advanced State Management
  11. Performance Optimization
  12. Testing
  13. Server-Side Rendering (SSR)
  14. Progressive Web Apps (PWA)
  15. Advanced User Interactions
  16. Mobile Development
  17. Open Source Contribution

About

A repository for practicing frontend development with React, featuring assignments that cover core concepts, state management, routing, and API integration. Ideal for learning how to build and deploy modern web applications.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published