In this file I will explain some of the commands I needed to use to create the project, and what they were used for:
![Screenshot 2024-02-07 at 04 26 20](https://private-user-images.githubusercontent.com/148863357/302851174-429139ff-81c6-4553-b911-85cd52502de9.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk2Nzk1MTMsIm5iZiI6MTczOTY3OTIxMywicGF0aCI6Ii8xNDg4NjMzNTcvMzAyODUxMTc0LTQyOTEzOWZmLTgxYzYtNDU1My1iOTExLTg1Y2Q1MjUwMmRlOS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjE2JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxNlQwNDEzMzNaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1iNDQwODNhMmEwMjhlMTczYzlkYjNjZDYyNTMxZDA3MjczNjM0MDYyYTM1NWM0ZDE1MWZmOTIxNGY4ZjY5MTY3JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.mHhYA1kCpjRj9MeC6Q5qokDlCJE-tz6-rxjc4O3xMiA)
This line imports the Tkinter module, which is a standard GUI (Graphical User Interface) toolkit for Python. It is commonly used for creating desktop applications with graphical interfaces. The as tk part gives Tkinter an alias tk, so you can refer to its classes and functions using tk instead of tkinter
![Screenshot 2024-02-07 at 04 26 24](https://private-user-images.githubusercontent.com/148863357/302851128-0cf8e20c-7ab9-4c2d-b407-8edc84205791.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk2Nzk1MTMsIm5iZiI6MTczOTY3OTIxMywicGF0aCI6Ii8xNDg4NjMzNTcvMzAyODUxMTI4LTBjZjhlMjBjLTdhYjktNGMyZC1iNDA3LThlZGM4NDIwNTc5MS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjE2JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxNlQwNDEzMzNaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0wMWU1OTM2N2VjNmQzMmU0ZGI1MzlhNmUzNzEzZTQ3N2NmNTkxY2UwOGQ2NDAxNTgzODY1MmE3ODgzOTczMTRlJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.wohEAnCYsXJByPKvyhz3UYvxUHJLdx6jp27SEQmzeZM)
This line imports the messagebox module from Tkinter. The messagebox module provides a simple way to create and display message boxes in Tkinter applications. These message boxes can be used to show informational messages, warnings, errors
This line imports the schedule module. The schedule module is used for scheduling tasks to run at specific intervals or times. It provides a simple interface to create and manage scheduled tasks in Python programs.
![Screenshot 2024-02-07 at 04 26 36](https://private-user-images.githubusercontent.com/148863357/302851062-222207c3-7aeb-4418-816e-0d19049d196d.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk2Nzk1MTMsIm5iZiI6MTczOTY3OTIxMywicGF0aCI6Ii8xNDg4NjMzNTcvMzAyODUxMDYyLTIyMjIwN2MzLTdhZWItNDQxOC04MTZlLTBkMTkwNDlkMTk2ZC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjE2JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxNlQwNDEzMzNaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1iZWRiZjcwYzdiODU1NzQ0NmJjMDEyY2JlMWY2MTkyMmQ5N2ZlZWUxZTVhOGEwOGNmNTI4Y2EzZmVkMGI0NGY1JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.UGsrdsOsO5SDIuhU-bFLzn7PhN3rnU04YUEFy7LeW9U)
This line imports the built-in time module. The time module provides various time-related functions. It is commonly used for working with timestamps, measuring time intervals, and controlling program execution based on time.
![Screenshot 2024-02-07 at 04 29 16](https://private-user-images.githubusercontent.com/148863357/302851530-1d81a7b1-1fc3-4b02-af2d-e97664162b6b.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk2Nzk1MTMsIm5iZiI6MTczOTY3OTIxMywicGF0aCI6Ii8xNDg4NjMzNTcvMzAyODUxNTMwLTFkODFhN2IxLTFmYzMtNGIwMi1hZjJkLWU5NzY2NDE2MmI2Yi5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjE2JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxNlQwNDEzMzNaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1jYTY1NWUzOTAyZGExYWY1ZmIyYTViZmI2NTMxM2M2ZDk4NTAxMDQ0MzM5ZWJhNWM2Mzg2Y2ZkMWU5NDg5MWQ2JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.vOgPNYVLP5qbrL008UXv1IvF7m8op4564dFKkxb6ejo)
The remind() function is a placeholder function definition. In Python, I learned that def is used to define a function. The function name in this case is 'remind.'
![Screenshot 2024-02-07 at 04 31 47](https://private-user-images.githubusercontent.com/148863357/302851882-3225e964-00ff-45ec-85a1-7f7b68af2e35.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk2Nzk1MTMsIm5iZiI6MTczOTY3OTIxMywicGF0aCI6Ii8xNDg4NjMzNTcvMzAyODUxODgyLTMyMjVlOTY0LTAwZmYtNDVlYy04NWExLTdmN2I2OGFmMmUzNS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjE2JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxNlQwNDEzMzNaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1jY2JlNzMzMWQ5YjZlMzM2YTBiZTEyNDc0M2QwMzcxZjc5MDNkOGRhZGEwNGU1MjdhMDlhMTA1MTc5YjJiYTNiJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.PR0dUnlBBEzkNlhlAtw8rlw7qBIoZyFoZ_pKLbGGEkI)
This line of code schedules the remind() function to be executed every day at my desired time- 15:30PM.
- schedule.every(): This is a method provided by the schedule module that initializes a scheduling job. It's the starting point for creating a schedule.
- .day: This specifies that the job should run every day.
- .at("15:30"): This specifies the time of day when the job should run, in this case, 15:30 or 3:30 PM.
- .do(remind): This specifies the function (remind) that should be executed when the scheduled time is reached. So, altogether, this line sets up a recurring task using the schedule module, which will execute the remind() function every day at 15:30 for me.
![Screenshot 2024-02-07 at 04 35 31](https://private-user-images.githubusercontent.com/148863357/302852386-ce521bac-cf94-4e5d-86ea-8f752077d11c.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk2Nzk1MTMsIm5iZiI6MTczOTY3OTIxMywicGF0aCI6Ii8xNDg4NjMzNTcvMzAyODUyMzg2LWNlNTIxYmFjLWNmOTQtNGU1ZC04NmVhLThmNzUyMDc3ZDExYy5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjE2JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxNlQwNDEzMzNaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0xNzgwNDZhNzFkY2YyYzQ3NmZiMDg0NWMyMjQ1MDcxMTM5NGE3YTg4YjVlZWJlMTVkNmI4N2EzODRhYTg3M2Y3JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.BlLCgbCKQQ3QI73xW8nn1YjjJwXQOVxsvgi304JSc3o)
This 'try' and 'except' statement is what I used for any error handling. It allowed me to write my code that might raise any problems, and to handle the exception, preventing the program from crashing, as well as to continue the execution of my program even if exceptions/problems do occur.
![Screenshot 2024-02-07 at 04 37 53](https://private-user-images.githubusercontent.com/148863357/302852691-dcfd40a1-c0d4-48c9-9a4b-3049dd96cba5.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk2Nzk1MTMsIm5iZiI6MTczOTY3OTIxMywicGF0aCI6Ii8xNDg4NjMzNTcvMzAyODUyNjkxLWRjZmQ0MGExLWMwZDQtNDhjOS05YTRiLTMwNDlkZDk2Y2JhNS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjE2JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxNlQwNDEzMzNaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT04N2QzMDZmMzBhN2JiNDFjYzg0M2EzZWJlNzEwODFkNWE2MTU5OTFjNzAzMjViZjM3ZjZiMTBiZjIxNjQyNzViJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.Anj21O8wZubMcRzsnH3VN7pAutPRGHGxLkuIsJlrQZ8)
The line print("Program stopped by user") is a simple print statement that outputs the message "Program stopped by user" to the console. For debugging or to track the flow of my execution. Printing a message like this would help me understand when and why my program was stopped during execution.
![Screenshot 2024-02-07 at 04 40 11](https://private-user-images.githubusercontent.com/148863357/302853051-67363ec6-bdda-41d9-8e1d-3239d580256c.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk2Nzk1MTMsIm5iZiI6MTczOTY3OTIxMywicGF0aCI6Ii8xNDg4NjMzNTcvMzAyODUzMDUxLTY3MzYzZWM2LWJkZGEtNDFkOS04ZTFkLTMyMzlkNTgwMjU2Yy5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjE2JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxNlQwNDEzMzNaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT05NzIyMmRmOWFjNTY4MTVjODIzNmEyNDY5YTIzNjdlMDUxYjE4OWQyODEyMTA3ZDllN2FiN2Y5NzQ1YTNlNjc2JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.o2nWjYzvwQEUuQN55j7PY9uFc-rJFYboKbPaeW9cExU)
This code creates an infinite loop (while True:) that continuously checks for scheduled tasks and runs them using the schedule module.
-while True:: is an infinite loop that will run indefinitely because the condition True is always true. This loop ensures that the program keeps running continuously until it is manually stopped or interrupted.
-schedule.run_pending(): This line checks if there are any pending scheduled tasks and runs them. If there are no pending tasks, this function will do nothing and the loop continues to the next iteration.
-time.sleep(1): This line pauses the execution of the program for 1 second This is done to prevent the loop from consuming excessive resources on my CPU by continuously checking for pending tasks. By sleeping for a short duration between iterations of the loop, the program can efficiently wait for scheduled tasks without using up all available processing power.