maskeynihal / system-design-for-meeting-scheduling-application

System design for meeting scheduling application

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

System Design

You have been hired to be a senior full-stack engineer in a small team for TheCompany. The Company’s objective is to manage multiple companies to facilitate cross-collaboration between them. Currently, four different companies have signed-up for their business and The Company has been able to conduct smaller collaborations. Each company has over 1,000 employees. This collaboration is a tedious task.

So, The Company is in need of a Meeting Scheduling Application to make its operation effective while expanding its business. The Company now wants to onboard five new companies within the next year, making a total of over 10,000 users using this application concurrently. Hence it needs a robust, modern application to manage all these application requests.

Your task is to design a system that allows users to schedule meetings with one or multiple participants from within the company or different companies. The application should recommend a time and location to users who want to set up a meeting. The system should support notifications and reminders to ensure that all participants are aware of the scheduled meetings.

TheCompany takes data security very seriously. Every task they do is fully HIPPA compliant. TheCompany is required to protect the privacy and security of the client’s data and is not allowed to access the information of other clients. So the system you purpose to make should be HIPPA compliant too.

DELIVERABLE:

You should provide a high-level design of the meeting scheduling application, including the architecture, data models, and APIs. You should also provide a detailed explanation of how the application would work, including user flows, system interactions, and data storage. Additionally, you should explain how you would implement the system’s features and provide a timeline for the development process.

  1. How would you go about making this decision?
  2. What are some of the variables and factors you would consider important in making this decision, and why?
  3. What infrastructure/solution would you go with, and why?
  4. Explain what your proposed system architecture would look like.

Your submission should consist of solutions to the following problems

  1. Health Insurance Portability and Accountability Act (HIPAA)
  2. Timezones
  3. Recurring Meetings
  4. Guest Invitations
  5. Resource Scheduling
  6. Integration with other tools Google, Microsoft,…
  7. Billing and Payments

About

System design for meeting scheduling application