/Interview_Scheduler

Cloud-based interview schedulers like 'CHIME: Let's Connect' revolutionize HR by streamlining recruitment. Its modern architecture combines EJS, Node.js, Express.js, and MongoDB, hosted on AWS, Google Cloud, and MongoDB Atlas. These platforms optimize scheduling, enhance candidate experiences, and facilitate efficient coordination across time zones

Primary LanguageEJS

CHIME - Let's Connect

INTRODUCTION

The advent of cloud technology has revolutionized various aspects of modern business operations, including the realm of human resources. This project delves into the innovative landscape of cloud-based interview schedulers, a crucial tool in streamlining the recruitment process. By harnessing the benefits of the cloud, organizations can seamlessly coordinate interviews, optimize scheduling efficiency, and enhance candidate experiences. The evolution of cloud technology has fundamentally reshaped the landscape of modern business operations. Among its many applications, cloud-based interview schedulers have emerged as a transformative solution in the realm of human resources.

The system architecture for "CHIME: Let's Connect" encompasses a well-structured frontend built with EJS to provide user-friendly interfaces for recruiters and applicants. The frontend facilitates interview slot management, invitation sending, and response tracking for recruiters. On the backend, Node.js and Express.js power a RESTful API that manages HTTP requests, handles core application logic, and interfaces with the MongoDB database. The database is organized into collections for various data types, ensuring efficient querying and scheduling algorithms. For robust hosting and scalability, the system leverages cloud infrastructure using AWS, Google Cloud and MongoDB Atlas for cloud-based database management.

"CHIME: Let's Connect" adopts a modern system architecture that combines EJS for the frontend, Node.js and Express.js for the backend, and MongoDB for data storage. Cloud infrastructure choices enhance scalability and reliability, making it a well-rounded solution for efficient interview scheduling and management.

In an era marked by increased global connectivity and remote work, the ability to efficiently coordinate interviews across time zones and locations is paramount. Cloud-based interview schedulers offer organizations a dynamic platform to manage and streamline this intricate process. By centralizing scheduling, they eliminate the complexities of coordinating between multiple stakeholders, optimizing the recruitment pipeline's efficiency.

Moreover, these solutions enhance the candidate experience, offering flexibility and ease of use. Applicants can conveniently select interview slots that align with their schedules, fostering a positive impression of the hiring organization.

PROBLEM STATEMENT

In today's fast-paced work environment, coordinating and managing daily meetings efficiently is a challenge that many individuals and teams face. The process of manually scheduling meetings, finding suitable time slots, and accommodating participants' availability can be time-consuming and error-prone. This often leads to missed meetings, overlapping schedules, and decreased productivity.

OBJECTIVES

• To distribute incoming tasks or jobs based on importance evenly across available resources to prevent resource bottleneck and also help users to get information according to the requirements.

• To generate instant notifications for real time communication with clientele.

• To deploy schedulers on the cloud to ensure high availability of applications and services by distributing tasks across multiple servers or instances.

METHODOLOGY

We will be creating a comprehensive system architecture for "CHIME: Let's Connect" will involve designing the overall structure of the application, including its components, databases, and the interaction between various elements. Additionally, determining the cloud infrastructure and technologies is essential for hosting and scaling the application.

System Architecture:

  1. Frontend: The user-friendly interfaces for both recruiters and applicants are a critical part of the system. Using EJS (Embedded JavaScript) for the front end, which is a good choice for generating dynamic HTML content. Here's how you can structure it: Recruiter Interface: This interface is designed for recruiters to create, manage, and schedule interviews. It should include features like creating interview slots, sending invitations using mail, tracking candidate responses, and integrating Google Calendar for saving the dates.

  2. Backend: Using Node.js and Express.js for the backend. This is a robust choice for building a RESTful API to handle requests and manage the application's logic. API Layer: This layer is responsible for handling HTTP requests from the frontend, processing data, and interacting with the database. It should include endpoints for creating, updating, and deleting interview slots, sending invitations, and handling applicant responses. Business Logic: Implement the core business logic for scheduling interviews, avoiding time clashes, and sending notifications or reminders to both recruiters and applicants.

  3. Database: MongoDB Cloud is the database for storing user calendar data and other relevant information. Organize our data into collections for recruiters, applicants, interviews, and time slots. This ensures that data is structured efficiently to support querying and scheduling algorithms.

  4. Cloud Infrastructure and Technologies: Cloud Platform: We’ll use a cloud platform like Amazon Web Services (AWS) and Google Cloud. Server Hosting: We are going to Deploy our Node.js application on cloud platforms like Render and then create a development instance of AWS EC2 and use Docker and Jenkins(Continuous building tool) for checking if our application has errors or not . Google Calendar API: This is used to mark the slots for the booked interview on the Google Calendar so that a person can keep track of their aligned interviews. Database Hosting MongoDB Atlas is a cloud-based MongoDB service that integrates seamlessly with cloud platforms. It offers managed database clusters, automated backups, and high availability.

  5. Devops DevOps practices play a crucial role in ensuring the smooth integration, deployment, and continuous improvement of the CHIME application. Docker and Jenkins are fundamental tools in this process.

Docker: (Containerization and Orchestration)

Docker is employed to containerize the Node.js application and its dependencies. Containers provide consistency across development, testing, and production environments. Each component of the application, including the Node.js server, can run in a lightweight, isolated container, ensuring easy deployment and scalability. Docker allows for efficient resource utilization and helps mitigate the classic "it works on my machine" problem.

Jenkins Pipeline: (Continuous Integration and Continuous Deployment (CI/CD))

Jenkins plays a pivotal role in the Continuous Integration and Continuous Deployment (CI/CD) pipeline for the CHIME: Let's Connect application. By connecting to the version control system, such as GitHub, Jenkins automatically triggers the pipeline upon code changes. The process involves building Docker images and running tests to validate the codebase's integrity. Subsequently, the built Docker images are pushed to a container registry, enabling accessibility for deployment. Jenkins seamlessly orchestrates the deployment of the application to cloud platforms like AWS or Google Cloud, fostering automation and reducing the likelihood of errors. The CI/CD pipeline provides rapid feedback on code changes, expediting issue identification and resolution, while the automated deployment process facilitates easy scalability based on demand, ensuring a consistent and reliable deployment lifecycle.

image

IMPLEMENTATION

image

image

image

image

image

GOOGLE CLOUD INTEGRATION:

Screenshot (1172)

Screenshot (1173)

image

image

DOCKERFILE:

image

OUTPUT SCREENSHOTS:

image

image

image

image

image

image

image

image

DEPLOYMENT: image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

CONCLUSION

In this project, we will design and develop an application for interview scheduling.

• Users will have access to this application in order to view their assigned slots for the interview. • It will be simpler for people to obtain the required details concerning their interview. • It will save a lot of time, effort, and money as well as a large amount of paperwork for the interviewer as well as the learner.

Technological advancements have caught up with most industries and the smaller tasks they conduct. The scheduling and management of interviews is no exception. Proven online scheduling software is now readily available to all-sized organizations and for all scheduling needs, regardless of the scope of the job, the number of staff members, and their budgets. This technology can transform the daunting process of scheduling and enable them to run more efficiently and profitably.

REFERENCES

[1] Thalawattha, Sathsara & Vidanagama, Dushyanthi. (2021). A Survey on Web-based Meeting Scheduling Application.

[2] Perera, Poornima & Vidanagama, Dushyanthi. (2020). A WEB-BASED PAPERLESS MEETING MANAGEMENT SYSTEM.

[3] Erik Timmerman, C., Shik Choi, C., 2017. Meeting Technologies. https://doi.org/10.1002/9781118955567.wbieoc132

[4] Tran, Linh & Stojcevski, Alex & Pham, Thanh & Souza-Daw, Tony & Nguyen, Nhan & Nguyen, Vinh & Nguyen, Chau. (2016). A smart meeting room scheduling and management system with utilization control and ad-hoc support based on real-time occupancy detection. 186-191. 10.1109/CCE.2016.7562634.

This repository contains all the information related to the project.