Welcome to my personal repository showcasing the outcomes of my 100 Days of Code Challenge: The Complete Python Bootcamp (2023) with Angela Yu.
Contained within are the results of my dedicated work from Day 15 to Day 100 of the course. These projects represent the transformation of my coding abilities, culminating in applications that demonstrate an advanced understanding of Python.
Day 15 - Coffee Machine Project
Explored Python's def function to create a virtual coffee machine.
Day 16 - Coffee Machine OOP
Applied object-oriented programming (OOP) principles to enhance and refine the Coffee Machine project introduced on Day 15.
Day 17 - Quiz Project
Leveraged object-oriented programming (OOP) to create multiple classes and imported them into the main program.
Additionally, integrated API to enhance functionality.
Day 18 - Hirst Painting Project
Utilized the turtle module to create a visual representation of the Hirst painting project.
Employed the colorgram module to extract colors from an image in RGB format.
Gained proficiency in using Python module documentation.
Day 19 - Etch A Sketch and Turtle Race
Implemented user key input for controlling drawing on the turtle window, emphasizing keyword arguments over positional arguments.
Designed a turtle race, highlighting the creation of multiple objects using object-oriented programming (OOP) principles.
Day 20,21 - Snake Game
Developed a snake game utilizing the Turtle module.
Implemented inheritance and slicing techniques to enhance the game's functionality and structure.
Day 22 - Pong Game
Developed a Pong game, focusing on the logic behind making the ball bounce within the game.
Day 23 - Turtle Crossing Game
Created a turtle crossing game, akin to a crossing game.
Emphasized the process of breaking down a project into smaller components and executing them step by step.
Day 24 - Updated Snake Game and Mail Merge Project
Worked with local files and directories.
Implemented a high-score storage system in the Snake Game.
Developed a personalized letter for each recipient in the Mail Merge Project.
Day 25 - Squirrel Data Analysis and US/Malaysia State Game)
Utilized the pandas module to analyze squirrel data, determining the counts per color.
Developed a "Guess the State" game for both the US and Malaysia, utilizing the turtle and pandas modules for enhanced interactivity and data handling.
Day 26 - NATO Alphabet Project
Utilized the pandas module to read a CSV file containing NATO phonetic codes.
Generated a user input system where inputted letters are converted to their corresponding NATO alphabet codes.
Day 27 - Miles to Km Converter GUI
Created a graphical user interface (GUI) using the tkinter module for a simple converter.
Demonstrated the use of function arguments in conjunction with the GUI to perform conversions.
Day 28 - Pomodoro Project 🍅
Practiced creating graphical user interfaces (GUI) using the tkinter module.
Developed a standard Pomodoro timer, incorporating 25 minutes of work followed by 5 minutes of breaks.
Day 29 - Password Manager GUI App with tkinter
Utilized the tkinter module to create a graphical user interface (GUI) version of a password manager.
Implemented dialogs to enhance the user interface (UI) for ease of use.
Learned to use pyperclip to automatically copy generated passwords to the clipboard, improving user experience.
Day 30 - Password Manager (Improved with Search Options)
Enhanced the Day 29 project, adding a search function to retrieve both emails and passwords for specific websites.
Replaced the data storage format from data.txt to data.json for improved data management.
Day 31 - Flash Cards App Capstone Project
Designed a flash card app specifically for learning Malay.
Implemented the pandas module to read a CSV file. During gameplay, unknown words are saved in a new CSV for later testing.
Added functionality to remove known words from the pool whenever the ✅ button is pressed. This ensures that the app focuses on testing only on unknown words.
Day 32 - Monday Motivation Email and Automated Birthday Wish Project
Set up a Python script to send a motivational quote every Monday to a recipient's email address.
Utilized the pandas module to read CSV data for automated birthday wishes.
Employed smtplib to send emails using Gmail as the host.
Utilized the datetime module to determine the current day and month for birthday wishes.
Day 33 - ISS Overhead Notifier Project
Created a program that notifies if the International Space Station (ISS) is passing over your location.
Requires input of latitude and longitude for location comparison.
If the ISS is within +- 5 degrees of your coordinates and it's nighttime, an email notification will be sent to look up and see the ISS yourself.
Day 34 - GUI Quiz Project
Modified the Day 17 Quiz Project to transform it into a graphical user interface (GUI) application.
Incorporated an API to directly fetch questions from the specified website, https://opentdb.com/api_config.php
Day 35 - Rain Alert Project
Implemented an authenticated API to retrieve weather forecasts.
Set up an email alert system to inform whether it will rain or not on the given day.
Day 36 - Stock Trading News Alert
Learned how to apply multiple APIs in a program to fetch data based on specific conditions.
Day 37 - Habit Tracker (API-Pixela)
Explored advanced authentication, headers, and various types of HTTP requests (POST, PUT, DELETE).
Developed a program that updates a habit tracker using code only, with the capability to be retrieved by inputting the link in a web browser.
Day 38 - Workout Tracker using Google Sheets
Developed a Python program that utilizes the Nutritionix API to track exercise, duration, and calories.
Integrated the Sheety API to automatically update this data into Google Sheets every time the program is executed.
*** Day 39, 40 are skipped due to too much signup to fetch API, and not in mood rn. (Maybe I'll updated them soon) ***
Day 41 - Introduction to HTML : Movie Ranking
Learned the basics of HTML and created a basic website about my top 3 favourite movies.
Day 42 - HTML: Birthday Invite Website
Create a birthday invite website that incorporated what I've learned with list element, image element, HTML attribute and anchor element.
Day 43 - Introduction to CSS: Color Vocab Website
Create a color vocab website in Spanish by implementing CSS selector and external CSS style.
Day 44 - CSS Meme Website
Create a meme website about programming, applying font element, image element, margins, padding and div.
Day 45 - Web Scraping Best 100 Movies
Create a txt file containing 100 Best Movies of All Time scraped from a website by using Beautiful Soup module
Day 46 - Create Spotify Playlist using Billboard 100 Website
Create a Python program to create a Spotify playlist based on the Billboard 100 website using the inputted date by user.
New module used : Beautiful Soup and Spotipy
Day 47 - Amazon Price Tracker using BeautifulSoup
Create a program to send alert once the price goes down in Amazon using BeautifulSoup to check on the HTML.
Day 48 - Cookie Clicker Game
Use selenium to automate clicking on the cookie automatically and to set new high score