Python Projects

Hello! I'm Sara Strasner, a full-stack JavaScript developer learning Python using a 100 Days of Code course on Udemy. This webpage gives me a way of reflecting on what I've learned each day, while seeing my own growth through daily Python projects.

Day 54: Basic Flask Server and Decorator Function
Topic: Command Line, Python Decorators, and Web Development with Flask

A basic server built using Flask and a function speed calculator decorator function.

View this Project

Day 53: Data Entry Job Automation
Topic: Capstone Project: Webscraping

A data entry job automation bot that searches for potential rentals on Zillow, scrapes the relevant data with Beautiful Soup, and completes a Google form with that data using Selenium Web Driver.

View this Project

Day 52: Instagram Follower Bot
Topic: Instagram Follower Bot with Selenium

Uses Selenium to automatically log in to Instagram, navigate to the page of a given account, click the followers link, and start following those accounts one-by-one.

View this Project

Day 51: Complaining Twitter Bot
Topic: Auto Complaint Bot with Selenium

A bot that uses Selenium to get the current internet upload and download speeds via `speedtest.net` and tweets a complaint to my internet provider if either value is below their promised speeds.

View this Project

Day 50: Tinder Swipe Bot
Topic: Auto Tender Swiping Bot with Selenium

A Selenium WebDriver bot that logs in to Tinder with Facebook credentials and swipes right on the first 100 potential matches.

View this Project

Day 49: Job Application Bot
Topic: Automated Job Applications with Selenium

A bot that uses Selenium to automate applying for jobs via LinkedIn.

View this Project

Day 48: Selenium Webdriver
Topic: Selenium Webdriver Broswer and Game Bot

Uses Selenium Webdriver to create a bot that plays Cookie Clicker by clicking on the cookie as fast as possible. Every 5 seconds, it checks the right-hand pane to see which upgrades are affordable and purchase the most expensive one. Every 5 minutes, the bot stops and prints the cookies per second.

View this Project

Day 47: Amazon Price Tracker Project
Topic: Web Scraping with Amazon

An automated price tracker that uses BeautifulSoup to monitor the price of a given item on Amazon. If the price drops below a specified threshold, smtplib emails me with the price and item name.

View this Project

Day 46: Python Time Machine
Topic: Web Scraping and Spotify Automation

A 'Time Machine' that creates a Spotify playlist of the Billboard Top 100 songs for a user-provided date. Uses BeautifulSoup and requests for web scraping and Spotipy for authentication and playlist creation.

View this Project

Day 45: Movie Watchlist
Topic: Scraping the Web with BeautifulSoup

A list of must-see movies built using data scraped via BeautifulSoup from Empire's list of 100 best movies of all time.

View this Project

Day 41 - 44: HTML & CSS
Topic: Web Fundamentals

A 4-day series on basic and intermediate HTML and CSS.

Day 40: Capstone Part II Flight Club
Topic: Capstone Project Part II

A continuation of the Cheap Flight Finder project that accomodates multiple users, handles exceptions, handles destinations without direct flights, and emails all users when deals arise.

View this Project

Day 39: Capstone Part I Cheap Flight Finder
Topic: Capstone Project

A cheap flight finder that reads city data and maximum prices from a Google sheet and checks for the cheapest flights from tomorrow to 6 months later for all the cities in the Google Sheet. If the price is lower than the lowest price listed in the Google Sheet, it sends an SMS to me. Uses Object-Oriented Programming, the Sheety API, Kiwi Partners Flight Search API, Tequila Flight Search API, and Twilio SMS API.

View this Project

Day 38: Exercise Tracker
Topic: Exercise Tracking with Python and Google Sheets

An application that uses natural language processing, Nutritionix API, and Sheety API to prompt for the user's description of their exercise and adds it to a Google Sheet.

View this Project

Day 37: Habit Tracker
Topic: Advanced Authentication and POST/PUT/DELETE requests

A full-CRUD habit tracker built with Pixela, requests, and datetime.

View this Project

Day 36: Stock News Monitor
Topic: Intermediate API Keys, Authentication, Environment Variables, and Sending SMS

An application that checks the closing stock prices for a given stock. If the closing stock price has fluctuated by over 5% in the last two days, it sends a text with the percentage difference, and the 3 latest news articles about that company. Built using Alpha Vantage API, News API, Twilio, requests, and datetime.

View this Project

Day 35: Rain Alert Application
Topic: API Keys, Authentication, Environment Variables, and Sending SMS

Checks the weather forecast for a given location, and sends me a text message if it will rain within the next 12 hours. Uses Twilio for sending SMS and the OpenWeather API for checking the forecast.

View this Project

Day 34: Quizzler App
Topic: The Trivia API and the Quizzler App

A refactored version of a CLI-based quiz app that included a GUI (via Tkinter) and pulls new data from the Open Trivia database each time the app runs.

View this Project

Day 33: International Space Station Tracker
Topic: Application Programming Interfaces

An ISS tracker that emails me if it's dark out, and the ISS is overhead. Utilizes Sunrise-Sunset and ISS Open-Notify APIs and smtplib for email.

View this Project

Day 32: Automated Birthday Email
Topic: Email SMTP and the datetime module

A birthday wisher that uses SMTP, datetime, and pandas to automatically send customized birthday emails to friends and family.

View this Project

Day 31: Flash Card App Capstone Project
Topic: Capstone Project

A flashcard app built with Tkinter that shows a Spanish word and then its English translation after three seconds. If the user clicks that they knew the word, it is removed from the list of words to learn and won't be shown again.

View this Project

Day 30: Password Manager v2
Topic: Errors, Exceptions, and Saving JSON Data

An updated version of the password manager that handles exceptions related to the data.json file. This version also has a search feature so users can search for an existing password.

View this Project

Day 29: Password Manager
Topic: Graphical User Interfaces with Tkinter

A password manager built using Tkinter. The app can provide a randomized password if needed and saves the website, username, and password to a local file.

View this Project

Day 28: Pomodoro App
Topic: Graphical User Interfaces with Tkinter

An application built using tkinter to help users implement the Pomodoro Technique when working.

View this Project

Day 27: Unit Converter
Topic: Graphical User Interfaces with Tkinter and Function Arguments

A GUI program that converts miles to kilometers built with Tkinter.

View this Project

Day 26: NATO Phonetic Alphabet
Topic: List and Dictionary Comprehensions

Returns the NATO alphabet for each letter in a user input string. Built using list and dictionary comprehension. Pandas is used to import, read, and manipulate a .csv file of the NATO alphabet.

View this Project

Day 25: U.S. States Game
Topic: Working with CSVs and Analyzing Data with Pandas

A guessing game that prompts the user to name all 50 states. Correctly guessed states are labeled on a map. The states data is read and analyzed using the pandas library. The map is rendered using the turtle library. The game keeps a record of correct states and at the end of the game creates a csv file of states to study.

View this Project

Day 24: Mail Merge Challenge
Topic: Files, Directories, and Paths

Opening, reading, and writing files to complete a mail merge project.

View this Project

Day 23: Turtle Crossing
Topic: Turtle Crossing Capstone Project

Similar to that of Frogger, the goal of Turtle Crossing is to cross a busy road and get to the other side without being hit by a car. This game is built using Object-Oriented Programming, classes, and game logic.

View this Project

Day 22: Pong Game
Topic: Intermediate Game Logic

Building Pong, the classic arcade game, with Turtle, classes, class inheritance, and game logic.

View this Project

Day 21: Snake Game Part 2
Topic: Class Inheritance

Part II of the Snake Game Part I build. Creates and updates a scoreboard and detects collisions with food, wall or tail. Built using Object-Oriented Programming and class inheritance.

View this Project

Day 20: Snake Game Part 1
Topic: Animation and Coordinates

Part 1 of the two-part build of the classic Snake Game. Built using Object-Oriented Programming.

View this Project

Day 19: Turtle Race
Topic: More Turtle Graphics, Event Listeners, State, and Multiple Instances

A digital turtle race built using event listeners, state, and multiple instances of Turtle Graphics. The user is asked to predict a winner, and each turtle takes a random number of steps until a winner crosses the finish line.

View this Project

Day 18: Hirst Painting
Topic: Understanding Turtle Graphics and Reading Documentation

A digital art creation app inspired by Damien Hirst's spot paintings, which feature rows of randomly colored circles.

View this Project

Day 17: Quiz Game
Topic: Object-Oriented Programming

A quiz game built using Object-Oriented Programming. The QuizBrain class has methods that check for remaining unasked questions, asks the next question, checks the user's answer, and print's the user's current score.

View this Project

Day 16: Refatored OOP Coffee Machine
Topic: Object-Oriented Programming

An updated version of Coffee Machine (below), which has been refactored using Object-Oriented Programming.

View this Project

Day 15: Coffee Machine Project
Topic: Local Development Environment

A virtual coffee machine that takes orders, checks available resources (coffee, water, milk) before fulfilling orders, processes payments and gives change, and renders a report of the machine's current resources and money

View this Project

Day 14: Higher Lower Game Project
Topic: Local vs. Global Scope

An implementation of the Higher Lower game. The user is given two cards and has to decide which of the two has more Instagram followers. This game is built using game logic, conditionals, loops, and local and global variables.

View this Project

Day 13: Debugging
Topic: Debugging: How to Fix and Find Errors

A series of debugging exercises to develop debugging skills.

Day 12: Number Guessing Game
Topic: Local vs. Global Scope

An number guessing game built using a variety of local and global variables and namespaces.

View this Project

Day 11: Blackjack Capstone Project
Topic: Capstone Project

An interactive blackjack game using using a variety of function and loops, and advanced game logic.

View this project's flowchart

View this Project

Day 10: Calculator App
Topic: Functions with Outputs

A calculator using recursion, while loops, and functions that provide outputs

View this Project

Day 9: Silent Auction
Topic: Python Dictionaries and Nesting

A CLI silent auction app that askes for a bidder's name and bid, then clears the screen for the next bidder to enter their name and bid. Each bid is added to a dictionary. Once all bids are entered, the largest bid is found in the dictionary and returned as the winner of the silent auction.

View this Project

Day 8: Caesar Cipher
Topic: Function Parameters

Implementing a Caesar cipher, which takes a message and a shift value, then encrypts/decrypts the message shifting each letter forward or backward based on the shift value.

View this Project

Day 7: Hangman
Topic: Conditionals and Loops

A hangman game built with lists, if/else statements, and loops.

View this Project

Day 6: Escaping the Maze
Topic: Functions and Karel

Using loops and conditionals to help Karel the robot escape a series of obstacles.

Day 5: Password Generator
Topic: Loops

A password generator that user for loops to generate a randomized password using user input.

View this Project

Day 4: Rock, Paper, Scissors Game
Topic: Randomization and Lists

An interactive rock, paper, scissors game built using conditional logic.

View this Project

Day 3: Treasure Island Game
Topic: Control Flow and Logical Operators

A text-based adventure game that gives the user a series of binary choices that may or may not lead them to a hidden treasure.

View this Project

Day 2: Tip Calculator
Topic: Data Types

A tip calculator that uses basic mathematical operators to calculate a grand total with tip, and then splits that number among how many will be paying the bill.

View this Project

Day 1: Band Name Generator
Topic: Working with Variables

A Python implementation of the classic band name generator. City You Grew Up In + Name of Your First Pet = Perfect Band Name.

View this Project