Project Description for Google Calendar

Get a brief introduction to "Google Calendar" and learn which features we'll be building in this project.

We'll cover the following

Introduction

The Google Calendar application is developed by Google as part of the GSuite. Google Calendar makes people’s everyday lives easier by helping them manage events and reminders. Companies especially benefit from it greatly because it can also be used to manage events across multiple calendars. This way, companies can track the availability of employees and rooms to schedule meetings efficiently.

In this chapter, we will discuss scenarios and problems that relate to developing and implementing meeting management features.

Statement

Suppose you are a developer working for the team in charge of the Google Calendar application. Your team has decided to implement several productivity enhancing features. These features will enable individuals, pairs and larger groups of people to meet and collaborate more easily and efficiently.

Features

We will need to introduce the following features to implement the functionalities we discussed above:

  • Features #1: We have a schedule of meetings available. We want to determine and block the minimum number of meeting rooms for these meetings.
  • Features #2: Some team leads have requested the ability to display the blocks of time during which they will be busy in meetings. This will help others who want to meet them efficiently request an appropriate meeting time as well as to avoid unnecessary walk-ins.
  • Features #3: Before scheduling a meeting, check if the other person will be available during the specified time slot.
  • Features #4: Some users have open agenda and open participant meetings so that two meetings can take place at overlapping time at the same venue. Add a new meeting to a user’s already busy schedule while merging the new meeting with existing meetings, if necessary.
  • Features #5: Given the schedules of two users, find the time intervals when both of them are busy.
  • Features #6: Find two sets of consecutive days to schedule a series of board meetings using the number of mutually free hours of the board members.
  • Features #7: Given the schedule of a person, find the longest consecutive busy period.

Understanding these feature requests and designing their solutions will help us implement the requested functionality into the calendar application. In the upcoming lessons, we will discuss these features and their solutions in detail. By the end of the section, you’ll be able to map the solution to this scenario to different interview problems as well.

Level up your interview prep. Join Educative to access 70+ hands-on prep courses.