Giter Site home page Giter Site logo

mydailyplanner's Introduction

Netlify Status

My Daily Planner

Introduction

  • A simple web application to help in organizing the daily routine tasks by maintaining the important "To-do", "In progress", "Review" and "Done" tasks and keep it save

Build with:

HTML5

  • Footer Element It is added at the bottom of the webpage . It contains social media links , some navigational items and copyright information.
  • Section Element It helps to organize webpage content into thematic groups.

CSS3

  • Box-Shadow This property that adds a shadow to an element.
  • Opacity This property makes elements see-through or completely transparent.
  • Rounded corner This property enables to apply the border-radius CSS3 property to HTML elements in a simple single line.
  • New Colors RGBA and Gradient color

Bootstrap4

  • Card-layout

Javascript

  • JSON
  • Classes
  • LocalStorage API

Jquery

  • .show()
  • .hide()

Test

  • Unit testing is done with Jest.

Developement Methodology

Agile

-There were 3 sprints and 10 tasks.

Sprint 1

Task#1

Objective

  • Create the app wireframes to understand how it will look.

Design you App Wireframes

  • Contains a Task Form with the required information (Name, Description, AssignedTo, DueDate, Status)
  • Contains a Task Layout (check this Card Layout example) with the required information (Name, Description, AssignedTo, DueDate, Status)
  • Wireframe solves all the UI challenges to represent the Task Planner and a clear view of a Task with the required fields(Name, Description, AssignedTo, DueDate, Status)

Task#2

Objective

  • Implement the basic HTML structure of your Wireframes design.

Implement your Wireframes using Bootstrap

  • Implement the basic HTML structure of the Wireframes design.
  • All input fields are mapped in the Task Form (Name, Description, AssignedTo, DueDate, Status).
  • A Select type is used for the different Status options (TODO, IN PROGRESS, REVIEW, DONE).

Task#3

Objective

  • Implement the card layout bootstrap component that represents a task.

Create a Task Card layout and a Task List component

  • The Card Layout contains all the task information (Name, Description, AssignedTo, DueDate, Status).
  • The List group organizes multiple Card Layouts accordingly.

Sprint 2

Task#4

Objective

  • Implement a form that captures the fields required to create a task.

Task Form Inputs Validation

  • All form fields are validated on form submission(Name, Description, AssignedTo, DueDate, Status).
  • A meaningful error message is displayed when a form field is invalid.
  • The JavaScript code is in a separate file and the file is included in the HTML page with no errors.

Task#5

Objective

  • Implement a JavaScript class that represents a task using a JavaScript object.

Create the Tasks Model using JavaScript

  • The JSON format represents objects in JavaScript.
  • Classes are correctly defined using JavaScript.
  • Class functions are correctly defined using JavaScript.

Task#6

Objective

  • Implement a JavaScript function and logic that will handle the tasks model.

Add Tasks programmatically

  • When a new task is added with valid information, the task data must be stored in an array variable inside the JavaScript file.
  • The added task should be visible on the current tasks list and should display the task information.
  • When adding a new task, the task id should be incremented and unique.

Task#7

Objective

  • Implement a JavaScript function that allows tasks deletion on the data structure used to store the tasks on memory.

Delete a task

  • The delete button deletes the task card.
  • The delete button deletes the task object from the task array inside the TaskManager class.
  • The task id finds the task that the user wants to delete.

Sprint 3

Task#8

Objective

  • Implement a JavaScript function that updates the task information into the data structure used to store the tasks in memory.

Update a task

  • When clicking a task from the task list, the task information is displayed on the task form and the save button is renamed to “update”.
  • When the update button is clicked, both the task card and the task object inside the TaskManger class is updated.
  • When the task is updated, the button on the form should be renamed to “save” and the form fields are empty again.

Task#9

Objective

  • Implement a function that allows the application to persist data using the LocalStorage API.

Persisting Tasks with LocalStorage API

  • The application persists the task data, meaning that when the browser is closed and reopened, the data should remain in the page.
  • All operations to modify the data (add, delete and update) on the TaskManager class, are consistent with the data store in Local Storage.

Task#10

Objective

  • Implement as many unit tests as possible in order to verify the correct behavior of the different functionality of your Task Planner.

Unit testing for the Task Manager component

  • Has a unit test for each of the functions on the TaskManager class:
  1. Add
  2. Delete
  3. Update
  4. Assign To"
  • Has a test function for the UI functions to verify that adding a task is included in the HTML list component group.
  • Has a test function for the UI functions to verify that removing a task is deleted from the HTML list component group.

mydailyplanner's People

Contributors

any22 avatar

Watchers

 avatar

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.