This project is a part of the Frontend internship program at Foothill Technology Solutions. The goal of this task is to create a React application using TypeScript, implementing interfaces for typing any passed props.
The Typed ToDo App is a simple to-do list application where users can add, mark as completed, and delete to-do items. This project aims to provide hands-on experience with React and TypeScript, focusing on state management and component-based architecture.
- State Management: Efficient state handling for adding, marking, and deleting to-do items.
- Display To-Do Items: Render to-do items dynamically using the
map
method. - Add To-Do Items: Input field and button to add new to-do items.
- Mark as Completed: Checkbox to mark to-do items as completed.
- Delete To-Do Items: Ability to delete to-do items from the list.
- React + TypeScript: Core libraries for building the application.
- MUI: Material-UI for designing user interfaces.
- Vite: Build tool for faster and leaner development.
Follow these steps to install and run the project on your local machine:
-
Clone the repository:
git clone https://github.com/Jamal-SaadEddin/Typed-ToDo-App.git cd Typed-ToDo-App
-
Install dependencies:
npm install
-
Run the development server:
npm run dev
-
Open your browser: Navigate to
http://localhost:5173
to see the application running.
- This task is part of the Foothill Technology Solutions Internship Cycle.
- Big thanks to my trainer @Huthaifa
![foothill logo](https://private-user-images.githubusercontent.com/104212352/325529094-9d3c83b0-5ea8-46ff-93e8-f1504af9dc67.jpg?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjM3MzUzMzksIm5iZiI6MTcyMzczNTAzOSwicGF0aCI6Ii8xMDQyMTIzNTIvMzI1NTI5MDk0LTlkM2M4M2IwLTVlYTgtNDZmZi05M2U4LWYxNTA0YWY5ZGM2Ny5qcGc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwODE1JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDgxNVQxNTE3MTlaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1lYzZhOTA5NDA0YzYxZTQ3MjlhOWU1ZmQ5YmMyMTk4OWE2NWJlYzVjNjVlZjM3ZDMxMjZiYTIxMTI2OTQ3NmNjJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.J8e7vHkrKZsEoDlhOuCqCg4O_2BXofMqIMdXXt66LxI)
Thank you for visiting my project! Feel free to star or contribute to the repository if you find it useful.