Event Calendar Midterm Project

A GitHub Classroom Assignment

This assignment must be accepted on GitHub Classroomopen in new window.

Objective

Use what you have learned about Directives, Components, Transitions, and LocalStorage to create an Event Calendar web application that allow the user to view scheduled events, make new events, and edit and delete existing events. This project will also require working with dates and times, so please review the Working with Dates section to learn more.

Requirements

The following requirements must be met in order to complete the assignment successfully:

  1. The calendar must have a monthly view that accurately displays the selected month and year.
  2. The user should be able to choose which month and year to display.
  3. When the page loads the current month and year should be displayed with the current day highlighted.
  4. Events should appear on the calendar on the appropriate day list the time and title of the event.
  5. Clicking the event should display additional details about the event including but not limited to: the event title, time and description.
  6. The user should be able to add new event.
  7. The user should be able to edit or delete existing events.
  8. At least one Vue Component should be used.
  9. At least on Vue Transition should be used.
  10. All event data should be stored to localStorage.
  11. The web application should have an appealing and intuitive user experience.

Working with Dates

As a calendar web application, naturally the project will require working with dates and times. As such, you will need to use of the JavaScript Dateopen in new window object or a JavaScript Library like moment.jsopen in new window. This is not a topic that will be directly covered in this class, but below you will find a list of tutorials and resources that will help.

Example

Rubric

The following rubric will be use to grade this assignment.

TaskPoints
Accurately displays monthly calendar5
Successfully allows users to change the currently displayed month and year5
Accurately displays events on monthly calendar5
Successfully allows users to add events5
Successfully allows users to edit and delete existing events5
Uses at least one vue component5
Saves event data to localstorage5
Implements at least one vue transition5
Provides an appealing and intuitive user experience10
Total50

Submission

When the project is completed, follow the steps below to submit for grading:

  1. Create a commit with the message "Completes the Event Calendar assignment"
  2. Push all commits to GitHub.
  3. Submit the URL to your GitHub repository to the Event Calendar assignment on BrightSpace.