Giter Club home page Giter Club logo

mavericksbalitaan / todo-list Goto Github PK

View Code? Open in Web Editor NEW
2.0 1.0 0.0 1.47 MB

Microverse Module 02 Project: This educational project is to make 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. Built with HTML, Sass, JavaScript and Webpack.

Home Page: https://mavericks-db.github.io/todo-list/dist/index.html

License: MIT License

JavaScript 38.66% HTML 49.75% SCSS 4.07% CSS 7.52%
css css-loader css3 html html5 htmlwebpackplugin javascript microverse microverse-projects microverse-students

todo-list's Introduction

To-do List

This is an educational project to make 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.

Built With

  • Languages: HTML, SASS and JavaScript
  • Linters: Lighthouse, Webhint, Stylelint and ESlint
  • Module Bundler: Webpack
  • Module Bundler Loaders: Style, CSS and SASS
  • Module Bundler Plugin: HtmlWebpackPlugin
  • Code Editor: VS Code

Website Mockup ๐Ÿ“ฑ ๐Ÿ’ป ๐Ÿ–ฅ๏ธ

app_screenshot

Screenshots ๐Ÿ“ธ

Screenshots can be found in the repository.

Live Demo ๐Ÿ”—

Check the live demo here๐Ÿ‘ˆ

Getting Started

To get a local copy up and running follow these simple steps.

Prerequisites

  • A web browser like Google Chrome.
  • A code editor like Visual Studio Code with Git and Node.js.

You can check if Git is installed by running the following command in the terminal.

$ git --version

Likewise for Node.js and npm for package installation.

$ node --version && npm --version

Setup

Clone the repository using the GitHub link provided below.

Install

In the terminal, go to your file directory and run this command.

$ git clone [email protected]:mavericks-db/todo-list.git

Usage

Kindly modify the files as needed.

Run tests

To check for linters, use the files provided by Microverse. A GitHub action is also set to run during pull request.

$ npm install

Deployment

This app is deployed in the GitHub Pages for easy viewing upon merged on the main branch. Please find the link in the Live Demo section.

Authors

๐Ÿ‘ค Mavericks Balitaan

GitHub Badge Twitter Badge Facebook Badge LinkedIn Badge Gmail Badge

๐Ÿค 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!

Acknowledgments

๐Ÿ“ License

This project is MIT licensed.

todo-list's People

Contributors

mavericksbalitaan avatar

Stargazers

 avatar  avatar

Watchers

 avatar

todo-list's Issues

Self-Review: JavaScript Best Practices - To-do List Project

Good Job ๐Ÿ‘ in implementing the ff. JavaScript Best Practices: ๐Ÿ’ฏ

  • Keep all the JavaScript code in JS files, not in the script tag.
  • Keep your code clean following this advice about:
  • type checks === โœ…
  • descriptive variable and function naming โœ…
  • simplicity โœ…
  • the code is somewhat DRY but can still be improved โœ…
  • .lock files are included in the repository to avoid problems with future versions of the dependencies.
  • Have used ES6 object destructuring to get the values from an object but can still be improved.

On the browser: ๐ŸŒ

  • No console.log found on the code
  • No window.alert() or window.confirm() found on the code
  • Keep the number of changes/updates to the DOM as low as possible, they are very expensive for the browser.
  • Keep the application logic separated from DOM manipulation tasks.
  • No document.write or eval
  • Node_modules directory was added in the .gitignore file.
  • No old pieces of code as inline comments

Cheers and Happy coding!๐Ÿ‘๐Ÿ‘๐Ÿ‘

Feel free to leave any questions or comments in the PR thread if something is not 100% clear.

Self-Review: HTML & CSS best practices - To-do List Project

Good Job ๐Ÿ‘ in implementing the ff. HTML & CSS Best Practices: ๐Ÿ’ฏ

  • Use the appropriate tags for each element (e.g., links, titles, etc.) and use HTML5 semantic tags (e.g., header, nav) over divs.
  • Avoid lines of code that are too long (100 characters or more).
  • Be careful with blank lines and indentation.
  • Do not add blank lines, spaces, or indentations without a reason.
  • For readability, add blank lines to separate large or logical code blocks.
  • For readability, add two spaces of indentation. Do not use the tab key.
  • Close all HTML elements.
  • Use lowercase for elements and attribute names.
  • Always quote attribute values.
  • Use space-less equal signs.
  • Do not use inline styles. Keep your style definition in a separate CSS file.
  • Do not overuse !important rule in your CSS style definitions.
  • Always use the class attribute for multiple elements (do not use ID selector for multiple elements).
  • If you want to create a CSS rule for multiple elements, use a class attribute instead.
  • Do not commit old pieces of code as inline comments. They will make your project look messy. If you need to review a previous version of your code, you can always use git history.

Cheers and Happy coding!๐Ÿ‘๐Ÿ‘๐Ÿ‘

Feel free to leave any questions or comments in the PR thread if something is not 100% clear.

DRY, KISS, and YAGNI

Good Job ๐ŸŽ‰ so far ๐Ÿ’ฏ

Here are some of the comments/suggestions found in the code: โ™ป๏ธ

  • You can remove this line of code since when using the localStorage.setItem() it will automatically override the localStorage value with the same key.

https://github.com/mavericks-db/todo-list/blob/f035a845b1e0def2e75196ad0a297ea9ba3b6dee/src/modules/taskList.js#L89


Cheers and Happy coding!๐Ÿ‘๐Ÿ‘๐Ÿ‘

Feel free to leave any questions or comments in the PR thread if something is not 100% clear.

Peer-to-peer: to-do list

Hi @mavericks-db,

Great job on creating a good looking to-do list ๐Ÿ‘๐Ÿป ๐Ÿ’ฏ
โœ”๏ธ Good styling.
โœ”๏ธ Your to-do list's functionalities are smooth.
โœ”๏ธ Your project has smooth interactions with the user โœจ

Here are some of the improvements your team has suggested:

  • We noticed that you use localStorage.clear() every time you want to override the existing entry in localStorage. The local storage overrides the existing entries automatically when you set a new value with the same key. So it's better to remove the localStorage.clear() lines to optimize your code.
  • We noticed that some of your logic is split between multiple files. Please consider reconstructing your modules because index.js and status.js are almost empty and have no particular functionality.
  • We suggest removing the e.preventDefault() on the input's event handler since it's not a form and it doesn't have an undesirable default behavior.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.