/to-do-list

Primary LanguageJavaScript

To-do list

Web app for a to-do list

screenshot

This project is a to-do list app built using ES6 and Webpack as part of Microverse projects.

Things done so far:

1. Create list structure

  • Use custom-built Webpack boilerplate
  • Implement app structure using classes
  • Populate to-do list dynamically on page load
  • Implement event listener using promise
  • Split JS files into modules
  • Configure repository to deploy from Webpack output directory

2. Make list interactive

  • Implement HTML Drag and Drop API on list items
  • Track task status
  • Implement Web Storage API for local storage of tasks
  • Refactor modules using classes

3. Implement CRUD

  • Allow user to add, edit, and delete tasks
  • Make UI elements functional

4. Review for JS best practices

5. Implement unit testing for add and delete functionalities

  • Use Jest
  • Implement mock of local storage
  • Create unit tests for CRUD add and delete operations

Built With

  • Major languages: HTML, SCSS, JS
  • Technologies used: Sass, Lighthouse, Webhint, Stylelint, ESLint, Webpack

Live Demo

Live Demo Link

Getting Started

To get a local copy up and running, follow the steps below in your terminal.

Prerequisites

  • Node.js
  • npm

For more information, view the section Installation in this guide about Node.js and npm.

Setup

Clone the project:

git clone https://github.com/AkashaRojee/to-do-list.git

Install

There are currently no production dependencies.

Install the development dependencies:

npm install

Usage

The assets are in the src directory.

The output is in the docs directory.

Run tests

To run the entire test suite:

npm test

Deployment

Note: The default output directory of Webpack (dist) has been renamed to docs to facilitate publishing from GitHub Pages.

To build the website:

npm run build

To serve the website directly:

npm run start

Author

👤 Akasha Rojee

👤 Hubert Mugabo

🤝 Contributing

Contributions, issues, and feature requests are welcome!

Feel free to check the issues page.

Show your support

Give a ⭐️ if you like this project!

📝 License

This project is MIT licensed.