Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/benawi/microverse-to-do-list
"To-do list" is a tool that helps to organize your day. It simply lists the things that you need to do and allows you to mark them as complete. You will build a simple website that allows for doing that, and you will do it using ES6 .
https://github.com/benawi/microverse-to-do-list
css-loader dev-server javascript linter-eslint webpack
Last synced: about 5 hours ago
JSON representation
"To-do list" is a tool that helps to organize your day. It simply lists the things that you need to do and allows you to mark them as complete. You will build a simple website that allows for doing that, and you will do it using ES6 .
- Host: GitHub
- URL: https://github.com/benawi/microverse-to-do-list
- Owner: Benawi
- Created: 2023-05-09T15:21:28.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2024-03-06T17:33:57.000Z (11 months ago)
- Last Synced: 2024-04-23T19:22:15.137Z (9 months ago)
- Topics: css-loader, dev-server, javascript, linter-eslint, webpack
- Language: JavaScript
- Homepage:
- Size: 944 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 📗 Table of Contents
- [📖 About the Project](#about-project)
- [🛠 Built With](#built-with)
- [Tech Stack](#tech-stack)
- [Key Features](#key-features)
- [🚀 Live Demo](#live-demo)
- [💻 Getting Started](#getting-started)
- [Setup](#setup)
- [Prerequisites](#prerequisites)
- [Install](#install)
- [Usage](#usage)
- [Run tests](#run-tests)
- [Deployment](#triangular_flag_on_post-deployment)
- [👥 Authors](#authors)
- [🔭 Future Features](#future-features)
- [🤝 Contributing](#contributing)
- [⭐️ Show your support](#support)
- [🙏 Acknowledgements](#acknowledgements)- [📝 License](#license)
# 📖 To-do list Microverse! Project
To-do list Microverse! project is a repository consisting of the following files:
- HTML file
- CSS file
- JS files
- HTML, CSS, and JS linters fileThe repository also contains files for setting up linters and validators.
### Key Features
## To Do list: [add & remove](https://github.com/microverseinc/curriculum-javascript/blob/main/todo-list/m3_add_remove.md)
### Features Added:
- Set up a new project with Webpack
- Create an index.html file and
- To-Do List placeholder (div or ul element).
- The index.html file must be set as a template using the HTML Webpack Plugin.
- Create an index.js file and set an array of some simple to do tasks (array of objects). Each task object contains three keys:
- description [string].
- completed [bool].
- index: [number].
- A function to iterate over the tasks array and populate an HTML list item element for each task.
- On page load render the dynamically created list of tasks in the dedicated placeholder. The list appear in order of the index values for each task.
- Create a style.css and set rules for the To-Do List. CSS must be loaded by Webpack Style/CSS Loader.
-All hardcoded items deleted from the tasks array. List structure #1.
- A new JavaScript file for the new functionality created.
- A function for adding a new task is implemented
- A function for deleting a task is implemented
- A function for editing task descriptions. implemented
- By default new tasks wil have the property completed set to false and the property index set to the value of the new array length (i.e. if you're adding a 5th task to the list, the index of that task will be equal to 5).
- Deleting a task will update all remaining items' indexes, so they represent the current list order and are unique(i.e. if you're deleting the first task index 1 from the list, the index of the next task(2) will set to 1)..
- A new JavaScript file is added and imported as a module:
- It contain methods related to the status updates (completed: true / false).
- Add event listener to the checkbox (change).
- Items object's value for completed key will updated upon user actions.
- A function for the "Clear all completed" is implemented - button (filter() method used).
- The updated array of items will be stored in local storage, so the user gets the correct list of values after the page reloads (which means that any changes made to the list will be preserved).
- The output of the app
![image](https://github.com/Benawi/Microverse-To-Do-list/assets/21217148/41aff895-051a-4b9b-bddd-623c1a107dbf)
- [Live Demo](https://benawi.github.io/Microverse-To-Do-list/dist/)
To get a local copy up and running, follow these steps.
### Setup
Clone this repository to your desired folder:
> cd my-folder
> git clone [email protected]:myaccount/my-project.git
### Prerequisites
In order to run this project you need:
- gitHub account;
- git installed on your OS.
### Install
> https://github.com/microverseinc/linters-config/tree/master/html-css-js
- Installations required to run this project:
### Install the webpack-cli.
- Run the following command:
```
npm install webpack webpack-cli --save-dev
```
### Install the plugin and adjust the webpack.config.js file
- Run the following command:
```
npm install --save-dev html-webpack-plugin
```
### To import a CSS file add the style-loader and css-loader to your module configuration
- Run the following command:
```
npm install --save-dev style-loader css-loader
```
### webpack-dev-server
- Run the following command:
```
npm install --save-dev webpack-dev-server
```
### Webhint installation.
- Run the following command:
```
npm install --save-dev [email protected]
```
### Stylelint installation.
- Run the following command:
```
npm install --save-dev [email protected] [email protected] [email protected] [email protected]
```
### ESLint
- Run
```
npm install --save-dev [email protected] [email protected] [email protected] [email protected]
```
### Usage
You can use this project by cloning it to your folder and changing index.html and styles.css files.
### Run tests
To run tests, run the following commands:
To track linter errors locally follow these steps:
Download all the dependencies run:
```
npm install
```
Track HTML linter errors run:
```
npx hint .
```
Track CSS linter errors run
```
npx stylelint "**/*.{css,scss}"
```
Track JavaScript linter errors run:
```
npx eslint .
```
### Deployment
You can redeploy this project by adding new lines of code to source files.
### 👤 Habtamu Alemayehu
- GitHub: [Benawi](https://github.com/Benawi)
To Do list: interactive list [this](https://github.com/microverseinc/curriculum-javascript/blob/main/todo-list/m2_interactive_list.md) will be added.
Contributions, issues, and feature requests are welcome!
Give me ⭐️ If you like this project!
- I would like to thank Microverse program for providing me this great chance.
This project is [MIT](./MIT.md) licensed.