Scheduling a meeting is a really time-consuming task. We are planning to make this process easier by developing a chatbot with a special scheduling algorithm which is based on participants calendar information that we will access by authenticating users calendars. This way users will not suffer because of the looping mail traffic while arranging meetings and they can focus on their tasks. We decided to develop a chatbot since we can integrate it with the tools that are used in the industry, such as Slack or Microsoft Teams.
To develop a chatbot we should, we decided to use Natural Language Understanding (NLU) methods instead of the state machine approach, in order to increase user experience. We are going to use NLU to under- stand the intent of the user to make the conversation more likely to human-human conversations. Our goal is to give the feeling to the user that they are talking with a real assistant. Besides the chatbot part of this project, we also need create database in order to manage user information.
Also, a website is required to register users, authenticate their calendars, and manage their meeting groups. Therefore, a lot of information transaction happens between database, website, and chatbot. Since we will store the user’s personal data and authenticate keys, we will manage security between database and chatbot by analyzing possible vulnerabilities of system.
In the end of the project, a flow is created such that a user can register the website, authenticate his/her calendar, create a meeting group, and then go to Google’s Hangout Chat, from app market can add the bot and arrange a meeting. After that, the participants of the meeting are receives an email and can see the event in their calendars with the related name and duration.
Frontend: React, Redux, Material UI
Backend: Node.js, Express.js
Database: MongoDB
Testing: NodeJsScan
Other: Docker
docker-compose -f docker-compose.dev.yml up
Feel free to create an issue to discuss more.