Skip to content

h-afreen/TaskManagementApp

Repository files navigation

Task Management Application Readme

This repository contains a Task Management Application built using React and TypeScript. The application consists of several components that work together to manage tasks efficiently.

Components

Task Interface The Task interface is defined in TypeScript with the following properties:

id (string or number) title (string) description (string) completed (boolean) This interface is used to ensure type safety when dealing with tasks throughout the application.

TaskList Component

The TaskList component takes an array of tasks as props and displays them. Each task is represented with its title, description, and a checkbox to mark it as completed. The component implements a feature to toggle the completion status when the checkbox is clicked.

TaskForm Component

The TaskForm component includes a form to add new tasks. It consists of input fields for the task title, description, and a submit button. When a new task is submitted, it is added to the task list.

Task App Component

The App component serves as the main component that integrates the TaskList and TaskForm. It manages the list of tasks and their state at the App level, ensuring proper data flow between components using props and state.

TypeScript Implementation

Throughout the application, TypeScript is leveraged to define and enforce the types of props and state. Interfaces are used to define the types for props and state in each component, ensuring type safety and allowing the TypeScript compiler to catch potential errors.

Generics are employed for reusable components or functions, enhancing code reusability and maintainability.

Styling (Optional)

Styling is optional but can be added to make the application visually appealing. You have the flexibility to use CSS or styling libraries like styled-components to enhance the user interface.

Running the Application

To run the Task Management Application:

Ensure you have Node.js and npm installed on your machine. Clone this repository to your local machine. Navigate to the project directory in the terminal. Run npm install to install the necessary dependencies. Run npm audit fix, depending on whether the terminal asks you to address vulnerabilities Run npm run dev to start the development server. Copy the link from the "Local" option and paste it into your web browser to view the application.