# project

Your project this week is to build a to-do list tracker. It should allow users to create, complete and delete tasks from a list.

You should have automated tests covering all the main user stories. Each story below has a test "shell". You have to fill out the body to create a failing test for each story. You should then see the tests pass as you add features to your app. *This is the minimum amount of testing required*: you should write additional tests to cover the rest of your code.

## User stories

### Core

**As a busy person, I want to:**

* Add tasks to a list so that I can keep track of them

  ```javascript
  test("Submitting a new task adds it to the list", () => {
    // test goes here
  });
  ```
* Check things off my list so that I can see what I’ve done

  ```javascript
  test("Checking an entry marks it as complete", () => {
    // test goes here
  });
  ```
* Delete things from the list if I don’t need to do them anymore

  ```javascript
  test("Deleting an entry removes it from the list", () => {
    // test goes here
  });
  ```

**As a motor-impaired user, I want to:**

* Use all the features of the app without a mouse

### Stretch

**As a busy person, I want to:**

* Filter out completed to-dos from my list so that I can focus on what's left to do

  ```javascript
  test("Toggling the filter hides completed tasks from the list", () => {
    // test goes here
  });
  ```

### Acceptance Criteria

* A working to-do list
* Tests for (at least) each user story
* A responsive, mobile-first design
* Ensure your app is accessible to as many different users as possible


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://founders-and-coders.gitbook.io/coursebook/archive/foundation/testing/project.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
