An open API service indexing awesome lists of open source software.

https://github.com/bhuvan-007-github/mytask-reactpracticeproject

A simple task management app built in React.js for hands-on practice and skill demonstration.
https://github.com/bhuvan-007-github/mytask-reactpracticeproject

class-components frontend javascript my-task practice-project react reactjs state-management-in-react styled-components uuid uuidv4

Last synced: about 2 months ago
JSON representation

A simple task management app built in React.js for hands-on practice and skill demonstration.

Awesome Lists containing this project

README

          

# ๐Ÿ“ My Task โ€“ Task Management App

A lightweight **React.js** application designed to capture and categorize user-defined tasks. This project demonstrates best practices in modern front-end development, including component-based design, effective state management, and integration of key third-party libraries.

---

## ๐Ÿš€ Project Objective

This project serves as a demonstration of clean React practices and usage of key libraries.
- Component-driven UI architecture
- Dynamic state handling using class components
- **Lists and Keys** usage
- Use of libraries such as `styled-components` for styling and `uuid` for unique key generation

---

## ๐Ÿงฐ Tech Stack

- **React.js** โ€“ Front-end JavaScript library
- **JavaScript (ES6+)**
- **HTML5**
- **Styled-components** โ€“ For component-scoped CSS styling
- **UUID** โ€“ For generating unique identifiers
- **Git & GitHub** โ€“ For version control and collaboration

---

## โœ… Features

- Users can:
- Input task **descriptions**
- Select a **task category** from a dropdown
- Click **"Add Task"** to submit

- All tasks are displayed after submission
- Task filtering is supported:
- Clicking on a tag filters tasks by that category
- Clicking the tag again will remove the filter
- Implements efficient array methods:
- `map()` โ€“ for rendering lists
- `filter()` โ€“ for conditional task display

---

## ๐Ÿงช How to Use

1. Enter a task description into the input field.
2. Select a category from the dropdown menu.
3. Click the **"Add Task"** button to submit.
4. Use the tag buttons above the task list to filter tasks by category.

> To remove the filter, click the active tag again.

---

### Refer to the image below:

![App Screenshot](https://assets.ccbp.in/frontend/content/react-js/my-tasks-output.png)

### Design Files

Click to view

- [Medium (Size >= 768px), Large (Size >= 992px) and Extra Large (Size >= 1200px) - No Tasks View](https://assets.ccbp.in/frontend/content/react-js/my-tasks-output-no-tasks-view.png)
- [Medium (Size >= 768px), Large (Size >= 992px) and Extra Large (Size >= 1200px)](https://assets.ccbp.in/frontend/content/react-js/my-tasks-output.png)
- [Medium (Size >= 768px), Large (Size >= 992px) and Extra Large (Size >= 1200px) - Filter View](https://assets.ccbp.in/frontend/content/react-js/my-tasks-output-filter-view.png)

### Set Up Instructions

Click to view

- Download dependencies by running `npm install`
- Start up the app using `npm start`

Colors


Hex: #131213

Hex: #f3aa4e

Hex: #f1f5f9

Hex: #64748b

Hex: #f8f8f8

Hex: #475569

Hex: #323f4b

Hex: #000000

Hex: #ffffff

Hex: #f1f5f9

Hex: #1a171d

Hex: #f8fafc

Font-families

- Roboto

๐Ÿ‘ค Author
GitHub: @bhuvan-007-github