Giter Club home page Giter Club logo

ng-todo-list-quiz-4ahif-mkublbock's Introduction

Todo List

How to start

Server/API

Go into 'Server' folder and enter npm install ➡️ npm run-script build ➡️ npm start to start the server

Client

Go into 'ToDo-List' folder and enter npm install ➡️ ng serve. Head over to localhost:4200 and you are ready to go

Introduction

In this exercise you have to implement a user interface for a ToDo-List application. You have to use Angular to implement it.

Everybody has to submit her or his best try via GitHub.

Web API

The backend Web API has been prepared for you. You can find it in 0010-demo-api. Take particular note of demo.http. It contains sample HTTP requests demonstrating how you can:

  • Get all people (persons who you can assign a todo item)
  • Get a list of all todo items
  • Add a todo item
  • Get a single todo item
  • Update a todo item (change description, assignedTo, or done)
  • Delete a todo item

Recommendation: Take a look at the code of the sample to get familiar with the concepts used there.

Feel free to extend the existing code if you need to. However, for solving this exercise, it is not absolutely necessary to extend it.

Requirements

  1. Create a web-based UI using the Angular framework. Create the app on your local computer. Using Stackblitz is not sufficient.

  2. As a user, I want to get a list of all my todo items. The list has to contain at least the description, the assigned person (if there is one) and the done-flag. ✔

  3. As a user, I want to be able to filter the list of todo items so that I only see the items that are undone. ✔

  4. As a user, I want to be able to filter the list of todo items so that I only see the items that are assigned to me. ✔

  5. As a user, I want to be able to combine the filters mentioned above (e.g. all todo items that are undone and assigned to me). ✔

  6. As a user, I want to be able to add a new todo item. I want to enter a description and optionally assign the new todo item to a person (drop-down list of all available people). ✔

  7. As a user, I want to be able to edit an existing todo item. I want to be able to change description, assigned person (it has to be able to remove an assignment, too), and done-flag. ✔

  8. As a user, I want to be able to delete an existing todo item. ✔

Advanced Exercises for Extra Points

Angular Material

Angular Material is a great framework to build mobile web apps. Read the getting started guide and try to apply it to your app. Use e.g. lists and/or cards for todo items. Use inputs, autocomplete, and/or checkboxes for the todo form.

Send me a link to your solution styled with Angular Material via a GitHub issue and you will get an extra point for your grade. ✔

Due Date

Handling date values is not trivial in web applications. If you want an extra challenge, add a due date to each todo item. ✔

  1. You have to extend the web api accordingly.

  2. Use Angular Material's datepicker in the todo form.

Send me a link to your solution thaat includes a working due date via a GitHub issue and you will get an extra point for your grade.

ng-todo-list-quiz-4ahif-mkublbock's People

Contributors

mkublbock avatar rstropek avatar

Watchers

James Cloos avatar  avatar

Forkers

mkublbock

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.