AN-NAJAH NATIONAL UNIVERSITY Faculty of Engineering & Information Technology Computer Engineering Department “Software Graduation Project” Student Names: Mira Jamous & Aseel Masri Supervisor: Dr. Amjad Abuhassan Presented in partial fulfilment of the requirements for Bachelor degree in (Computer Engineering). January 29, 2024 2 Acknowledgment Foremost, praise and gratitude are due to Allah for His guidance and generosity. We express our gratitude and appreciation to Allah for His guidance and generosity. We also extend our thanks to all those who supported us in overcoming the challenges inherent in this project. We want to acknowledge Dr. Amjad Abuhassan, our project supervisor, for his invaluable advice and consistent encouragement. His guidance significantly contributed to the project's success and the attainment of optimal results. Additionally, we appreciate the University for fostering an environment conducive to executing the project, showcasing its commitment to enhancing students' learning and encouraging excellence and productivity. Lastly, heartfelt thanks go to our families and friends who steadfastly stood by us throughout this journey, providing unwavering support and continuous encouragement. Their assistance was instrumental in overcoming obstacles and challenges. 3 Disclaimer This report has been authored by Mira Jamous and Aseel Masri, students in the Computer Engineering Department, Faculty of Engineering, An-Najah National University. It has undergone minimal alterations or corrections, primarily of an editorial nature, during the assessment process. As a result, potential language and content errors may still be present. The opinions, conclusions, and suggestions presented within the report are exclusively those of the aforementioned students. An-Najah National University holds no accountability or liability for any potential repercussions arising from the utilization of this report for purposes other than its original commission. 4 1. Table of Contents Acknowledgment ...................................................................................................................................... 2 Disclaimer ................................................................................................................................................. 3 Abstract ..................................................................................................................................................... 8 1. Introduction ......................................................................................................................................... 9 1.1 Problem ......................................................................................................................................... 9 1.2 Objectives ..................................................................................................................................... 9 1.3 Work Scope ................................................................................................................................... 9 1.4 Significance ................................................................................................................................... 9 1.5 Organization of the report. .......................................................................................................... 10 2. Constraints and Earlier Coursework .................................................................................................. 11 2.1 Constraints ............................................................................................................................................ 11 2.2 Earlier Coursework ..................................................................................................................... 11 3. Literature Review ................................................................................................................................. 12 4. Methodology .......................................................................................................................................... 14 4.1 Tools, Methods and Programming Languages ................................................................................. 14 4.1.1 Tools: ......................................................................................................................................... 14 4.1.2 Programming language ........................................................................................................... 15 4.1.3 Database .................................................................................................................................... 15 4.2 System Features Implementation ...................................................................................................... 16 4.2.1 Mobile Application ................................................................................................................... 16 4.2.2 Website ...................................................................................................................................... 35 5. Results and Analysis ............................................................................................................................. 56 5.1 Appointment Scheduling Efficiency ................................................................................................. 56 5.2 Conflict-Free Appointment Booking ................................................................................................ 56 5.3 Dentist-Initiated Appointment Modifications ................................................................................... 56 5.4 User Notifications and Reminders .................................................................................................... 56 5.5 Interactive Features: Chat and Image Sharing .................................................................................. 56 5.6 Geographic Accessibility .................................................................................................................. 56 5.7 Dentist Evaluation and Feedback ...................................................................................................... 57 5.8 Restricted Evaluation System ........................................................................................................... 57 5.9 Administrative Authorization for Doctor Registration ..................................................................... 57 6. Conclusion & Future work .................................................................................................................. 57 5 1. References .......................................................................................................................................... 58 Table of Figures: Figure 1 Bookafy application ....................................................................................................................... 13 Figure 2: Start Page ..................................................................................................................................... 16 Figure 3: Signup options ............................................................................................................................. 16 Figure 4: Patient signup .............................................................................................................................. 16 Figure 5 : Doctor Signup .............................................................................................................................. 17 Figure 6:Patient Successful signup .............................................................................................................. 17 Figure 7:Doctor Successful signup .............................................................................................................. 17 Figure 8: Login page .................................................................................................................................... 18 Figure 9: Failed Login .................................................................................................................................. 18 Figure 10: Patient Home Page .................................................................................................................... 18 Figure 11: Doctors near my current location .............................................................................................. 18 Figure 12: Email sent successfully ............................................................................................................... 19 Figure 13: End of home page ...................................................................................................................... 19 Figure 14: Send Email Page ......................................................................................................................... 19 Figure 15: message on Email....................................................................................................................... 19 Figure 16: Filter by city ................................................................................................................................ 20 Figure 17: Filter by name ............................................................................................................................ 20 Figure 18: All Doctors .................................................................................................................................. 20 Figure 19: Home page list ........................................................................................................................... 21 Figure 20: Change profile picture ............................................................................................................... 21 Figure 21: patient profile page ................................................................................................................... 21 Figure 22: Patient profile after edit ............................................................................................................ 22 Figure 23: Edit patient profile information ................................................................................................. 22 Figure 24: successfully edit information ..................................................................................................... 22 Figure 25: Orthodontists location ............................................................................................................... 22 Figure 26: Orthodontics filtered ................................................................................................................. 22 Figure 27: Orthodontics specialty page ...................................................................................................... 22 Figure 28: Categories .................................................................................................................................. 22 Figure 29: patient delete his appointment ................................................................................................. 23 Figure 30: Ask to delete appointment ........................................................................................................ 23 Figure 31: booked appointments ................................................................................................................ 23 Figure 32: List of messages ......................................................................................................................... 23 Figure 33: image display in the conversation ............................................................................................. 24 Figure 34: Patient and doctor conversation ............................................................................................... 24 Figure 35: Clinic locations ........................................................................................................................... 24 Figure 36: Doctor's general page ................................................................................................................ 25 Figure 37: Warning adding a rating ............................................................................................................ 25 Figure 38: After delete review .................................................................................................................... 26 Figure 39: Delete Review ............................................................................................................................ 26 Figure 40: All Reviews ................................................................................................................................. 26 file:///C:/Users/Maqboul%20Computer/Downloads/TeethTickTockReport%20(1)%20(1).docx%23_Toc157435456 file:///C:/Users/Maqboul%20Computer/Downloads/TeethTickTockReport%20(1)%20(1).docx%23_Toc157435463 file:///C:/Users/Maqboul%20Computer/Downloads/TeethTickTockReport%20(1)%20(1).docx%23_Toc157435464 file:///C:/Users/Maqboul%20Computer/Downloads/TeethTickTockReport%20(1)%20(1).docx%23_Toc157435465 file:///C:/Users/Maqboul%20Computer/Downloads/TeethTickTockReport%20(1)%20(1).docx%23_Toc157435466 file:///C:/Users/Maqboul%20Computer/Downloads/TeethTickTockReport%20(1)%20(1).docx%23_Toc157435467 file:///C:/Users/Maqboul%20Computer/Downloads/TeethTickTockReport%20(1)%20(1).docx%23_Toc157435468 file:///C:/Users/Maqboul%20Computer/Downloads/TeethTickTockReport%20(1)%20(1).docx%23_Toc157435469 file:///C:/Users/Maqboul%20Computer/Downloads/TeethTickTockReport%20(1)%20(1).docx%23_Toc157435470 file:///C:/Users/Maqboul%20Computer/Downloads/TeethTickTockReport%20(1)%20(1).docx%23_Toc157435471 file:///C:/Users/Maqboul%20Computer/Downloads/TeethTickTockReport%20(1)%20(1).docx%23_Toc157435472 file:///C:/Users/Maqboul%20Computer/Downloads/TeethTickTockReport%20(1)%20(1).docx%23_Toc157435473 file:///C:/Users/Maqboul%20Computer/Downloads/TeethTickTockReport%20(1)%20(1).docx%23_Toc157435474 file:///C:/Users/Maqboul%20Computer/Downloads/TeethTickTockReport%20(1)%20(1).docx%23_Toc157435475 file:///C:/Users/Maqboul%20Computer/Downloads/TeethTickTockReport%20(1)%20(1).docx%23_Toc157435476 file:///C:/Users/Maqboul%20Computer/Downloads/TeethTickTockReport%20(1)%20(1).docx%23_Toc157435477 file:///C:/Users/Maqboul%20Computer/Downloads/TeethTickTockReport%20(1)%20(1).docx%23_Toc157435478 file:///C:/Users/Maqboul%20Computer/Downloads/TeethTickTockReport%20(1)%20(1).docx%23_Toc157435479 file:///C:/Users/Maqboul%20Computer/Downloads/TeethTickTockReport%20(1)%20(1).docx%23_Toc157435480 file:///C:/Users/Maqboul%20Computer/Downloads/TeethTickTockReport%20(1)%20(1).docx%23_Toc157435481 file:///C:/Users/Maqboul%20Computer/Downloads/TeethTickTockReport%20(1)%20(1).docx%23_Toc157435482 file:///C:/Users/Maqboul%20Computer/Downloads/TeethTickTockReport%20(1)%20(1).docx%23_Toc157435483 file:///C:/Users/Maqboul%20Computer/Downloads/TeethTickTockReport%20(1)%20(1).docx%23_Toc157435484 file:///C:/Users/Maqboul%20Computer/Downloads/TeethTickTockReport%20(1)%20(1).docx%23_Toc157435485 file:///C:/Users/Maqboul%20Computer/Downloads/TeethTickTockReport%20(1)%20(1).docx%23_Toc157435486 file:///C:/Users/Maqboul%20Computer/Downloads/TeethTickTockReport%20(1)%20(1).docx%23_Toc157435487 file:///C:/Users/Maqboul%20Computer/Downloads/TeethTickTockReport%20(1)%20(1).docx%23_Toc157435488 file:///C:/Users/Maqboul%20Computer/Downloads/TeethTickTockReport%20(1)%20(1).docx%23_Toc157435489 file:///C:/Users/Maqboul%20Computer/Downloads/TeethTickTockReport%20(1)%20(1).docx%23_Toc157435490 file:///C:/Users/Maqboul%20Computer/Downloads/TeethTickTockReport%20(1)%20(1).docx%23_Toc157435491 file:///C:/Users/Maqboul%20Computer/Downloads/TeethTickTockReport%20(1)%20(1).docx%23_Toc157435492 file:///C:/Users/Maqboul%20Computer/Downloads/TeethTickTockReport%20(1)%20(1).docx%23_Toc157435493 6 Figure 41: Doctor’s working days ................................................................................................................ 27 Figure 42: Doctor Location on map ............................................................................................................ 27 Figure 43: Add Rate ..................................................................................................................................... 27 Figure 44: Successful reservation ............................................................................................................... 28 Figure 45: Booking page .............................................................................................................................. 28 Figure 46: Delete notification ..................................................................................................................... 28 Figure 47: Doctor profile ............................................................................................................................. 31 Figure 48: edit doctor profile information .................................................................................................. 32 Figure 49: Working days after edit ............................................................................................................. 32 Figure 50: working days before edit ........................................................................................................... 32 Figure 51: Booking modification box .......................................................................................................... 33 Figure 52: doctor delete appointment ....................................................................................................... 33 Figure 53: doctor update time proccess ..................................................................................................... 33 Figure 54: Doctor Messages ........................................................................................................................ 34 Figure 55 Login Page ................................................................................................................................. 35 Figure 56 Signup as Patient or Doctor ....................................................................................................... 35 Figure 57 User Signup Page ....................................................................................................................... 36 Figure 58 Patient registration .................................................................................................................... 36 Figure 59 Doctor Signup Page ................................................................................................................... 37 Figure 60 Location permission ................................................................................................................... 37 Figure 61 Current Location ........................................................................................................................ 38 Figure 62 Doctor registration .................................................................................................................... 38 Figure 63 Doctor's requests ........................................................................................................................ 39 Figure 64 Accept to join application email ................................................................................................ 39 Figure 65 All Doctor list ............................................................................................................................. 40 Figure 66 Doctor's Profile .......................................................................................................................... 40 Figure 67 reviews ....................................................................................................................................... 41 Figure 68 all Patients ................................................................................................................................. 41 Figure 69 Messages Page ........................................................................................................................... 42 Figure 70 Chat between admin and doctor ................................................................................................ 42 Figure 71 Home Page ................................................................................................................................. 43 Figure 72 nearby doctors ............................................................................................................................ 43 Figure 73 Top Rated Doctors ..................................................................................................................... 43 Figure 74 About TeethTickTock .................................................................................................................. 44 Figure 75 Patients Notifications ................................................................................................................. 44 Figure 76 Send Email Page ........................................................................................................................ 45 Figure 77 Clinics Locations ........................................................................................................................ 45 Figure 78 doctor's profile ........................................................................................................................... 46 Figure 79 add review .................................................................................................................................. 46 Figure 80 Book appointment page .............................................................................................................. 47 Figure 81 successfully booked appointment .............................................................................................. 47 Figure 82 Categories Page ......................................................................................................................... 48 Figure 83 Orthodontist doctors .................................................................................................................. 48 Figure 84 Empty Reservations .................................................................................................................... 49 file:///C:/Users/Maqboul%20Computer/Downloads/TeethTickTockReport%20(1)%20(1).docx%23_Toc157435494 file:///C:/Users/Maqboul%20Computer/Downloads/TeethTickTockReport%20(1)%20(1).docx%23_Toc157435495 file:///C:/Users/Maqboul%20Computer/Downloads/TeethTickTockReport%20(1)%20(1).docx%23_Toc157435496 file:///C:/Users/Maqboul%20Computer/Downloads/TeethTickTockReport%20(1)%20(1).docx%23_Toc157435497 file:///C:/Users/Maqboul%20Computer/Downloads/TeethTickTockReport%20(1)%20(1).docx%23_Toc157435498 file:///C:/Users/Maqboul%20Computer/Downloads/TeethTickTockReport%20(1)%20(1).docx%23_Toc157435499 file:///C:/Users/Maqboul%20Computer/Downloads/TeethTickTockReport%20(1)%20(1).docx%23_Toc157435500 file:///C:/Users/Maqboul%20Computer/Downloads/TeethTickTockReport%20(1)%20(1).docx%23_Toc157435501 file:///C:/Users/Maqboul%20Computer/Downloads/TeethTickTockReport%20(1)%20(1).docx%23_Toc157435502 file:///C:/Users/Maqboul%20Computer/Downloads/TeethTickTockReport%20(1)%20(1).docx%23_Toc157435503 file:///C:/Users/Maqboul%20Computer/Downloads/TeethTickTockReport%20(1)%20(1).docx%23_Toc157435504 file:///C:/Users/Maqboul%20Computer/Downloads/TeethTickTockReport%20(1)%20(1).docx%23_Toc157435505 file:///C:/Users/Maqboul%20Computer/Downloads/TeethTickTockReport%20(1)%20(1).docx%23_Toc157435506 file:///C:/Users/Maqboul%20Computer/Downloads/TeethTickTockReport%20(1)%20(1).docx%23_Toc157435507 7 Figure 85 ..................................................................................................................................................... 49 Figure 86 Reservations ............................................................................................................................... 49 Figure 87 Select Date ................................................................................................................................. 50 Figure 88 Edits ........................................................................................................................................... 50 Figure 89 Edit Duration ............................................................................................................................. 51 Figure 90 edited appointment ..................................................................................................................... 51 Figure 91 Edit Time Appointment Page ..................................................................................................... 52 Figure 92 doctor's notifications .................................................................................................................. 52 Figure 93 Doctor Profile ............................................................................................................................ 53 Figure 94 Edit or Show doctor's location ................................................................................................... 53 Figure 95 Working days .............................................................................................................................. 54 Figure 96 Edit doctor's information page ................................................................................................... 54 Figure 97 between doctor and patient ........................................................................................................ 55 Figure 98 Messages between doctor and admin ......................................................................................... 55 8 Abstract Scheduling appointments through conventional methods is often a laborious and time-consuming task, particularly evident in scenarios like coordinating visits to dental practitioners. This process can extend over multiple days, underscoring the need for more efficient scheduling solutions, especially in urgent situations or when choosing a suitable healthcare professional. To address this challenge, our team has developed an innovative application aimed at streamlining and simplifying the appointment scheduling process. Our application provides a user-friendly platform for booking appointments, with a specific emphasis on dental care providers. Through a groundbreaking approach, the app categorizes dentists based on their specialties, encompassing areas such as neurology, cosmetic dentistry, orthodontics, pediatric dentistry, and more. This categorization facilitates a more convenient selection process for patients seeking specific healthcare professionals. Moreover, our app offers information about each dentist, empowering users to make well-informed decisions. Additionally, an integrated interactive chat feature facilitates direct communication between patients and dentists, fostering a seamless exchange of information. Taking advantage of contemporary technology, our initiative goes beyond standard appointment scheduling. Users can schedule appointments and receive timely notifications to stay informed about any changes, edits, or deletions to their appointments. The application employs geolocation technology to efficiently identify and display nearby clinics based on the user's current location. Moreover, the application includes an automated reminder feature that sends timely notifications to users before their scheduled appointments. The application supports the seamless transmission of notifications to both doctors and patients. It also enables the exchange of images through messaging, providing a more effective means for patients and doctors to describe and understand specific cases. Furthermore, the application incorporates a feature allowing users to evaluate the healthcare professional with whom they have booked an appointment. This feedback mechanism enhances the overall user experience and contributes to the ongoing improvement of healthcare services. It is essential to note that this initiative was designed to function as both a mobile application and a web page, ensuring accessibility across diverse platforms. 9 1. Introduction 1.1 Problem Patients or individuals in general often face challenges when choosing their dentist to treat specific dental problems. In addition, they may face obstacles in making appointments with dentists through traditional methods, which are time-consuming and can lead to long waiting periods to confirm the appointment, communicate with the designated dentist, or find out the location of the clinics and the doctor’s specialty. 1.2 Objectives Our primary goal in this project is to build a mobile application and a website that assist both patients and dentists in scheduling appointments, selecting suitable time slots, and aiding in choosing the right dentist. The aim is to streamline this process, saving time and effort for both parties involved. 1.3 Work Scope Our project is specifically designed to focus on dental practitioners and their related appointments. It provides patients with a comfortable experience in selecting the right dentist and booking appointments on dates and times convenient for both the doctor and the patient. Additionally, the platform facilitates emergency communication through chats and image sharing between the doctor and the patient. Users can also locate the nearest clinic from their current location and have the opportunity to express their opinions and evaluate the doctor they've booked with. This helps other patients in making informed choices and determining suitability. 1.4 Significance Dentistry is an important part of our healthcare journey. At some point, we all need to visit a dentist for treatment or to check on our dental health. However, scheduling appointments can be a bit tricky and time-consuming. It often takes a couple of days to contact the dentist, manage appointments, and find a suitable time for both the dentist and the patient. That's where our app comes in. We've created an application that helps both patients and dentists manage these appointments more efficiently. Dentists can set their working hours, adjust appointment durations, and specify their availability. On the patient side, it's easy to choose a suitable dentist by filtering them based on specialties and locations. Patients can view ratings for each dentist and book appointments during the announced hours. The app also facilitates easy communication between 10 patients and dentists through messages. It provides a unique and convenient user experience with notifications alerting patients to any changes or approaching appointments. The platform prioritizes security and reliability, ensuring that dentists can only create an account after identity verification by the app administrator. 1.5 Organization of the report. In this report, we have organized the content in a coherent manner, starting with an introduction to the initial section that encompasses a detailed description of the problem, identified objectives, the project's scope, and an elucidation of its significance. We then delve into an exploration of the challenges encountered during project implementation, drawing comparisons with previous initiatives that share common features with our current project. Under the section titled "Literature Review," we have outlined the articles consulted for reference. Proceeding to the technological aspects, which constitute a pivotal element of our work, we elaborate on the utilized components, encompassing tools, programming languages, websites, and the fundamental operations of the project. Subsequently, we provide an in-depth explanation of the application interface and website interface. Concluding our report, we encapsulate our findings, furnishing an analysis of the results. In the final sections, we present our conclusions and recommendations, highlighting potential avenues for future research and development. 11 2. Constraints and Earlier Coursework 2.1 Constraints We encountered several challenges during the project implementation. Initially, we had to learn new technologies used in the project, such as Dart language and Flutter for mobile app development, which were unfamiliar to us, and we hadn't taken courses on them. Additionally, dealing with the firebase to achieve real-time interaction in the project and working with MongoDB posed a learning curve. All these technologies were acquired during the project execution, presenting a significant challenge. We attempted to integrate our programming knowledge from university and external courses to facilitate working with these technologies. Compiling a comprehensive set of features for the app required careful consideration to meet all users' needs effortlessly. However, some features, like adding a map to our website, required payment. The application heavily relies on a continuous internet connection, presenting a challenge as users need to be consistently online for optimal functionality. One obstacle we faced initially was how to integrate the project among team members and save changes easily and quickly to save time and effort. We addressed this issue by using GitHub, where the project was uploaded, allowing for collaborative work and version control. 2.2 Earlier Coursework During the project execution, we realized the immense value of the Computer Engineering department's specialized courses we studied at the university. These courses helped us build a strong programming understanding, enabling us to analyze problems and handle them effectively. University courses and external training played a significant role in developing this project. We learned about databases, front-end programming, and OOP programming. Additionally, the Advanced Software Engineering course guided us in implementing a Node.js project, one of the backend languages we used in this project. We also learned how to build and work with RESTful APIs. In the Software Engineering course, we benefited from learning the agile methodology, aiding in proper project planning and construction, ensuring a smooth project sequence. 12 3. Literature Review Appointment booking apps play a crucial role in dental clinics, especially during the ongoing pandemic. These applications, exemplified by Emily Esposito's definition, serve as essential tools, allowing clients to easily manage their appointments. The widespread use of smartphone apps has enhanced the accessibility and efficiency of services in various customer-focused businesses. The Square Appointments app, in particular, stands out for its contribution to business management, addressing organizational challenges according to its Capterra publication. Capterra's Square Appointments app is known for its flexible approach to business management, streamlining scheduling, payments, and sales organization across various industries. While it caters to a wide range of businesses, including health services and barbershops, some users have reported technological issues affecting its dependability. Problems like appointments not reaching institutions correctly, leading to data accumulation and scheduling overlaps, have been mentioned. Despite these challenges, the application remains a free and comprehensive tool for expediting customer processes, but administrators may need to invest more time in handling and resolving reported technical problems. (AL-Mamari, 2021) DocAppointments.com.au, an innovative platform originating in Australia, marks the country's introduction to a fully integrated online appointment booking system. Accessible via its website and mobile apps on IOS and Android devices, the system ensures users round-the-clock access for appointment scheduling. Users enjoy the flexibility of choosing appointment times from a broad range provided by administrators and have the option to select preferred doctors. The system facilitates location-based searches for the nearest doctor's practice or manual searches within a list of local practices. Users can effortlessly cancel appointments, and once confirmed, the system automatically records details on the user's calendar, including the practice's contact information. It's important to note, however, that the system's implementation relies on medical practices, presenting a distinctive challenge. (Ismail, 2017) 13 With possibilities for website integration or booking pages, Bookafy is unique as a free online booking tool for meetings, demos, and appointments. It lets businesses give their clients the freedom to freely arrange meetings, phone calls, or appointments. Its ability to synchronize appointment information with well-known calendars like as iCal, Outlook, Exchange, and Google is a useful feature. Notable features that offer a complete solution for efficient appointment management include automated scheduling with confirmations, SMS reminders, reviews, and electronic payments (bookafy, n.d.) In Figure 1 Bookafy application it is a page from this application. Figure 1 Bookafy application 14 4. Methodology 4.1 Tools, Methods and Programming Languages 4.1.1 Tools: Android Studio Editor: We used it to run the mobile application because it contains multiple emulators of different types. Visual Studio editor: We used it to write all the codes because it contains many features and additions that facilitate the programming process, including specialized themes for each language, in addition to the ease of linking it with other programs such as MongoDB and GitHub. Firebase: We used it to achieve real-time chat functionality among users, in addition to storing images of these conversations. It was also utilized to enable real- time notifications between the doctor and the patient in the project. GitHub: We used this platform to facilitate team collaboration in building the project and making changes to it without encountering issues, saving time and effort. Additionally, it provides a secure environment to prevent project loss and allows us to revert to previous modifications and more. Postman: We used this application to inspect API endpoints, ensuring their correct functionality, and visualizing the results obtained in operations like GET, POST, DELETE, and PUT. Pexels website: helped us obtain professional, suitable, and high-resolution images. 15 4.1.2 Programming language We used Filter Framework, built in the Dart language, to build an effective mobile application that gives a distinctive experience to the user and contains many components that facilitate programming. As for the backend, we used Node.js is an open-source, cross-platform JavaScript runtime environment that allows developers to execute JavaScript code server-side. 4.1.3 Database MongoDB: We used MongoDB as the project database, which is an open source and popular NoSQL database management system that stores data in BSON (Binary JSON), a flexible document format similar to JSON. It is designed to handle many types of data with great performance, scalability, and flexibility. As a member of the NoSQL family, MongoDB is independent of SQL (Structured Query Language) and traditional relational database tables. So it is easy and flexible to work with in different database operations. We choose MongoDB Atlas as the database option for our project. A fully managed cloud database solution that provides scalability, dependability, and security is called MongoDB Atlas. It offered the infrastructure required to efficiently store and handle the project's data. The MongoDB Atlas database was expanded to accommodate several tables for the various application components. 16 4.2 System Features Implementation 4.2.1 Mobile Application By making appointment scheduling simple and quick, we launched the Teeth Tick Tock project to satisfy the demands of both patients and dentists. Figure 2: Start Page Signup page: - The user can register in our application either as a patient or as a doctor, and each of them has a special registration page. Figure 4: Patient signup Figure 3: Signup options 17 Figure 5 : Doctor Signup After the doctor enters his information on the Sign Up page, he must wait until his request is accepted by the administrator Login page: - The user enters the email and password that he recently registered, whether he is a patient or a doctor, after the admin’s approval to enter the main page in the application. After entering the email and password, the email and password are verified and the user is present in the Database. -When you signup as a patient, the patient is added directly to the Database and they can log in using their email and password Figure 6:Patient Successful signup -When you register as a doctor, the doctor must wait until the account is accepted or rejected by the administrator. Figure 7:Doctor Successful signup 18 When logged in as a patient, the patient’s home page appears, which contains several elements. First, the dentists most rated by patients appear, “Top 3 Doctors.” Then, to make it easier for the patient in the event of an emergency to find a clinic, the clinics closest to the patient’s current location are displayed, “Clinics that “It is 10 km or less away,” and then all doctors appear with the ability to filter them by city or name. Figure 8: Login page Figure 9: Failed Login Figure 10: Patient Home Page Figure 11: Doctors near my current location 19 At the end of the main page there is information in general about the application, including the application email, where the patient can send his comments on it so that officials can review them. When the patient clicks on the email, a page opens for him through which an email is sent to the officials. When you open the email page for teethTickTock@gmail.com Figure 13: End of home page Figure 14: Send Email Page Figure 12: Email sent successfully Figure 15: message on Email mailto:teethTickTock@gmail.com 20 - First, all dentists are shown to the patient, and then he can filter them either by name or by city. Figure 16: Filter by city Figure 17: Filter by name Figure 18: All Doctors 21 - The patient has a list of buttons for moving between pages. It contains a button to go to the personal page, the second to see the category, the third to see the appointments that have been booked by the patient, the fourth for messages, the fifth to show all doctors’ locations on the map, and the six to log out. -My Profile: This page contains information about the patient, through which he can modify his information and modify his personal photo. The profile photo is changed by clicking on the camera icon Figure 19: Home page list Figure 21: patient profile page Change profile picture Change profile picture Figure 20: Change profile picture 22 - In Category Page, dentists are classified according to their specialties: cosmetic dentistry, neurology, orthodontics, pediatrics,…, It displays doctors who share the same specialty and shows their location on the map, and it can filter them by name or city as on the home page. Figure 23: Edit patient profile information Figure 24: successfully edit information Figure 22: Patient profile after edit Figure 28: Categories Figure 27: Orthodontics specialty page Figure 26: Orthodontics filtered Figure 25: Orthodontists location 23 - On the booked appointments page, all reservations that the patient has created are shown, and he has the ability to delete the reservation and visit the doctor’s page for a specific reservation. - Our application provides a Real Time message page, which is between the patient and the dentists. The patient can write to the doctor to inquire about a specific thing or in emergency situations, and the doctor and patient can send pictures and enlarge them so that you can understand the situation better. Figure 31: booked appointments Figure 30: Ask to delete appointment Figure 29: patient delete his appointment Figure 32: List of messages 24 - Mira's conversation with Dr. Abdul Rahman - The clinic locations display all participating clinic locations in the application Figure 34: Patient and doctor conversation Figure 33: image display in the conversation Figure 35: Clinic locations 25 - When the user enters the doctor's page, it appears as follows: The patient can see the doctor’s general information, book an appointment, see the doctor’s reviews, and see suggestions for doctors in the same specialty. - The patient cannot add a review to the doctor’s page if he does not have a prior reservation with the doctor. Figure 36: Doctor's general page Figure 37: Warning adding a rating 26 - The patient can see all reviews and delete his own rating Figure 40: All Reviews Figure 39: Delete Review Figure 38: After delete review 27 - The page shows the doctor's working days, working hours, email, number, and the location of his clinic on the map Figure 42: Doctor Location on map Figure 41: Doctor’s working days Figure 43: Add Rate 28 - On the booking page, the patient chooses the day he wants during the doctor’s working hours and is shown the available times for booking and makes the reservation through it. If it is on a holiday, no available times are shown. - After booking, a notification will be sent to the user to ensure that the process has been completed:- Figure 45: Booking page Figure 44: Successful reservation Figure 46: Delete notification 29 30 - When you enter the site as a doctor, the main page appears, which shows the reservations at this doctor for today, with the ability to view reservations for all days by clicking on Display All or specifying a specific date by clicking on Select Date. The doctor can delete appointments and modify the appointment, either by modifying the day and time or by modifying the duration of the appointment in minutes. 31 - The doctor can see all the reviews on his page, he can edit his personal information and profile picture, and they can either view or modify the clinic’s location on the map. Figure 47: Doctor profile 32 Through this page, the doctor can modify his personal information, as well as modify working hours and days, and change the automatic reservation period for reservations with this doctor. Figure 48: edit doctor profile information Figure 50: working days before edit Figure 49: Working days after edit 33 The doctor can delete patient reservations or modify the reservation for each patient, and any change that occurs to one of the patients, whether deleting, modifying, or shifting the time, will send a notification to this patient. - Here the doctor changed the appointment from 30 minutes to 40 minutes - When the doctor changes the appointment duration, notifications are sent to all patients whose appointment changes or is affected by the change. Figure 52: doctor delete appointment Figure 51: Booking modification box Figure 53: doctor update time proccess 34 - Our application supports the presence of messages between the doctor and patients and between the doctor and admins as well Figure 54: Doctor Messages 35 4.2.2 Website In our project, we developed the TeethTickTock website alongside the mobile application. The website incorporated all pages and features present in the mobile application, and included an admin page. The admin had permissions to approve or reject any doctor's requests, edit or delete information related to doctors and users, and could also delete offensive comments within doctor reviews. Furthermore, the admin page facilitated real-time communication through messages between the admin and any doctor, providing an efficient means for reporting problems or addressing other relevant issues. Login and Signup Pages: Figure 55 Login Page Figure 56 Signup as Patient or Doctor 36 Figure 57 User Signup Page Figure 58 Patient registration 37 Figure 59 Doctor Signup Page In this figure, there is a permission request to access your current location. This is essential to assist you in setting the clinic location automatically. Alternatively, you have the option to change it manually: Figure 60 Location permission 38 Figure 61 Current Location Figure 62 Doctor registration 39 Admin Pages: Figure 63 Doctor's requests Once a doctor's request to join the TeethTickTock application as a doctor was approved, a notification email was sent to their Gmail account, informing them that their request had been accepted. This is the email dispatched upon approval of the request: Figure 64 Accept to join application email 40 This page encompasses all information related to doctors, providing the admin with the ability to delete any doctor from the list. Additionally, the admin has the authority to remove any undesirable comments associated with the doctors on doctor's page. Figure 65 All Doctor list Admin can also access doctor’s profile: Figure 66 Doctor's Profile 41 Doctor’s reviews, where admin can delete any one: Figure 67 reviews This page encompasses all information related to patients, providing the admin with the ability to delete any patient from the list. Also admin can visit their profiles. Figure 68 all Patients 42 Messages Pages between Admin and doctors: Figure 69 Messages Page Figure 70 Chat between admin and doctor 43 Patient Home Pages: Figure 71 Home Page Figure 72 nearby doctors Figure 73 Top Rated Doctors 44 Figure 74 About TeethTickTock Figure 75 Patients Notifications 45 Figure 76 Send Email Page Figure 77 Clinics Locations 46 When user visit Doctor’s Profile: Figure 78 doctor's profile Figure 79 add review 47 Figure 80 Book appointment page Figure 81 successfully booked appointment 48 Figure 82 Categories Page Figure 83 Orthodontist doctors 49 Doctor Home Pages: When there are no reservations in selected day: Figure 84 Empty Reservations Figure 85 All Reservations: Figure 86 Reservations 50 Figure 87 Select Date Figure 88 Edits 51 Here, I have adjusted the duration of the meeting to 50 minutes Figure 89 Edit Duration After edits: Figure 90 edited appointment 52 Figure 91 Edit Time Appointment Page Figure 92 doctor's notifications 53 Figure 93 Doctor Profile Figure 94 Edit or Show doctor's location 54 Figure 95 Working days Figure 96 Edit doctor's information page 55 Messages Page between Doctor and patient: Figure 97 between doctor and patient Figure 98 Messages between doctor and admin 56 5. Results and Analysis 5.1 Appointment Scheduling Efficiency Users experienced a substantial reduction in appointment scheduling time compared to conventional methods. The application demonstrated an efficient and time-saving solution, meeting the objective of simplifying the scheduling process. 5.2 Conflict-Free Appointment Booking The system successfully prevented any conflicts in appointment scheduling. Users were able to book appointments without worrying about overlaps with existing appointments, ensuring a seamless and error-free scheduling process. This feature significantly reduced the chances of appointment clashes, enhancing the overall efficiency of the application. 5.3 Dentist-Initiated Appointment Modifications Dentists were empowered to change the duration or date of a session without conflicting with existing appointments. The system efficiently managed these modifications and ensured patients were promptly notified of any changes, promoting transparency and minimizing disruptions in the appointment schedule. This dynamic feature added flexibility to the scheduling process for both healthcare professionals and patients. 5.4 User Notifications and Reminders The automated reminder feature significantly improved appointment attendance rates. Users appreciated timely notifications, leading to better communication and awareness regarding any changes or updates to their scheduled appointments. 5.5 Interactive Features: Chat and Image Sharing The integrated chat feature facilitated direct communication between patients and dentists, fostering a seamless exchange of information. Users reported enhanced patient-doctor interactions, further augmented by the application's capability to exchange images through messaging. This feature proved effective in describing and understanding specific cases, significantly contributing to the diagnostic and treatment planning process and showcasing the advanced functionality of the application. 5.6 Geographic Accessibility Geolocation technology proved effective in identifying nearby clinics based on the user's current location. Users expressed satisfaction with the convenience of finding dental care providers in their vicinity, showcasing the success of the geographic accessibility feature. 57 5.7 Dentist Evaluation and Feedback Where users providing evaluations by using comments and 5-star system. This feature not only enhanced the overall user experience but also contributed valuable insights for ongoing improvements in clinic services. 5.8 Restricted Evaluation System The evaluation system was designed to restrict evaluations to individuals who had a prior reservation with the dentist. This ensured that evaluations were genuine and based on real interactions, preventing any misuse of the feedback mechanism. Users appreciated the authenticity of reviews, contributing to the credibility of the evaluation system and fostering a trustworthy environment for both patients and healthcare professionals. 5.9 Administrative Authorization for Doctor Registration The implementation of administrative authorization for doctor registration ensured a controlled and reliable database of healthcare professionals. This feature contributed to maintaining the integrity of the platform by allowing only authorized doctors to register, enhancing trust and reliability among users. 6. Conclusion & Future work In conclusion, our innovative appointment scheduling application represents a transformative solution to the challenges associated with traditional, time-consuming methods of coordinating visits to dental practitioners. With a strong emphasis on efficiency, user-friendliness, and accessibility, our application has successfully simplified the scheduling process, addressing complexities in urgent situations and healthcare professional selection. The groundbreaking categorization of dentists based on specialties significantly enhances user experience, facilitating a more convenient selection process. Incorporating timely notifications, automated reminders, and geolocation technology further streamlines the process and supports informed decision- making. Advanced features such as interactive chat, image sharing, and a feedback mechanism contribute to seamless communication between patients and dentists, enriching the overall healthcare experience. Designed for cross-platform functionality, our initiative aims to elevate dental care accessibility and efficiency, marking a significant step toward enhancing the healthcare experience for all stakeholders involved. Looking ahead, potential future work includes the exploration of expansion into other healthcare specialties, ensuring the application's continuous evolution to meet the dynamic needs of a broader spectrum of medical services. 58 1. References AL-Mamari, A. K. (2021). Book Your Dentist: A Mobile application for "Smart Booking" to the regional Dental Clinics in Sultanate of Oman. Journal of Student Research. bookafy. (n.d.). Retrieved from bookafy.com: https://bookafy.com/start-online-booking-landing- referral- landing/?utm_source=capterra&utm_campaign=capterra&utm_medium=post&utm_content=ca pterra&utm_channel=GetApp Ismail, N. S. (2017). Medical appointment application. Acta Electronica Malaysia, 1(2), 5-9. Acknowledgment Disclaimer Abstract 1. Introduction 1.1 Problem 1.2 Objectives 1.3 Work Scope 1.4 Significance 1.5 Organization of the report. 2. Constraints and Earlier Coursework 2.1 Constraints 2.2 Earlier Coursework 3. Literature Review 4. Methodology 4.1 Tools, Methods and Programming Languages 4.1.1 Tools: 4.1.2 Programming language 4.1.3 Database 4.2 System Features Implementation 4.2.1 Mobile Application 4.2.2 Website 5. Results and Analysis 5.1 Appointment Scheduling Efficiency 5.2 Conflict-Free Appointment Booking 5.3 Dentist-Initiated Appointment Modifications 5.4 User Notifications and Reminders 5.5 Interactive Features: Chat and Image Sharing 5.6 Geographic Accessibility 5.7 Dentist Evaluation and Feedback 5.8 Restricted Evaluation System 5.9 Administrative Authorization for Doctor Registration 6. Conclusion & Future work 1. References