Giter Club home page Giter Club logo

ijkl-week2-project's People

Contributors

albadylic avatar coletterbox avatar crianonim avatar gminova avatar reubengt avatar xirusux avatar

Watchers

 avatar

ijkl-week2-project's Issues

Accessibility only 60%

Screenshot from 2019-07-12 10-20-01

Failing Elements

Buttons do not have an accessible name

When a button doesn't have an accessible name, screen readers announce it as "button", making it unusable for users who rely on screen readers. Learn more.

Form elements do not have associated labels

Labels ensure that form controls are announced properly by assistive technologies, like screen readers.

Consider swaping to ES6

ES6 is very common and does not take too long to learn. Perhaps try converting your functions to ES6

Function demonstration() {
}

const demonstration = () => {
}

Function anotherOne(a) {
}

const anotherOne = a => {
}

function anotherAnotherOne(a, b) {
}

const anotherAnotherOne = (a, b) => {
}

Package.json needs to be reviewed

<<< HEAD and >>>>> should not be in your package.json, you have push to master without properly merging. Which is probably a reflection on my teaching you Git. haha

   "requires": {
<<<<<<< HEAD
        "balanced-match": "1.0.0",
=======
        "balanced-match": "^1.0.0",
>>>>>>> 01ebd549e8b95c57c50112764bae4e3e386d8f7e
        "concat-map": "0.0.1"
      }
    },

Setup CSS structure

Introduce Flexbox
Set basic sizing
Layout list on top of "paper" on "desk"

Background image file too big.

You background file wood.jpg is 15MB in size. On mobile it can load for one minute for the first time.
Maybe compress it or resize it (it is 8666x5777 pixels).

If you struggled with testing with Tape.

If you struggled with testing with Tape don't worry so did I. There are other testing frameworks such as Jest (which is very popular) which you might want to take a look at.

confusing between ES5 and ES6

In test.js you have this:

test("check that todos hasn't changed", function(t) {
  const actual = logic.addTodo(testArr, testObj).slice(0, testArr.length);
  const expected = testArr;
  t.deepEqual(actual, expected, "should not change the original todos array");
  t.end();
});

in the above you are using ES5 and ES6, choose one. I've changed the above below to implement es6 only.

test("check that todos hasn't changed", (t) => {
  const actual = logic.addTodo(testArr, testObj).slice(0, testArr.length);
  const expected = testArr;
  t.deepEqual(actual, expected, "should not change the original todos array");
  t.end();
});

Issues with submit field

  • When you submit a to-do the text remains in the field - should clear when you submit.

  • You can also submit an empty to-do, which you shouldn't be able to.

Really good understanding of the rendering

Your code is very clear and logical and reading it has helped me understand the concepts especially how you update the state using rendering. Thank you!

For instance the below:

todoNode.addEventListener("click", function(e) { var newState = todoFunctions.markTodo(state, todo.id); update(newState); });
You only update the state inside the event listener.

Then you have things like the below outside, which get updated on the DOM when you update state.

if (todo.done) { markTodoButtonNode.textContent = "โœ”"; todoSpan.style.textDecoration = "line-through"; }
Great job!

Design and layout

I like the background image. Colours are very pretty and good contrast ratios!
Screenshot

Have another look at BEM

Bem can be a pain at first and you do not need to adopt all of its teaching but perhaps consider only using classes in the CSS. So no change tag elements or using IDs

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.