Skip to content

These are my projects for Angela Yu's 100 Days of Python Bootcamp

Notifications You must be signed in to change notification settings

Mikerniker/100_Days_of_Python

Repository files navigation

Hello,

This is a repository of my final projects for Angela Yu's 100 Days of Code: The Complete Python Pro Bootcamp for 2023. I am currently on Day 89 and slowly putting the finished projects into Github for my reference. This repository is still a work in progress, thank you for visiting!

Beginner

Day 1 Project: Band Name Generator

  • Topics: Printing, Commenting, Debugging, String Manipulation, and Variables

Day 2 Project: Tip Calculator

  • Topics: Data Types, Numbers, Operations, Type Conversion, f-Strings

Day 3 Project: Treasure Island Hunt

  • Topics: Conditional Statements, Logical Operators, Code Blocks and Scope

Day 4 Project: Rock, Paper, Scissors

  • Topics: Randomisation and Python Lists

Day 5 Project: Password Generator

  • Topics: Python Loops

Day 6 Project: Escaping the Maze

  • Topics: Functions, Code Blocks, and While Loops

Day 7 Project: Beginner Hangman

  • Topics: For & While Loops, IF/ELSE, Lists, Strings, Range, Random module, ASCII art, Improve User Experience

Day 8 Project: Caesar Cipher

  • Topics: Functions with Inputs, Positional vs. Keyword Arguments

Day 9 Project: Silent Auction Program

  • Topics: Dictionaries and Nesting

Day 10 Project: Text-based Calculator

  • Topics: Functions with Outputs, Docstrings

Day 11 Project: Blackjack Game

  • Blackjack Capstone Project
  • Still a work in progress

Day 12 Project: The Number Guessing Game

  • Topics: Namespaces, Local vs. Global Scope, Modifying a Global Variable, Python Constants

Day 13 Debugging: Finding and Fixing Errors in your Code

  • Topics: Describe the Problem, Reproduce the Bug, Evaluate Each Line, Use a print() Statement, Use a Debugger

Day 14 Project: Higher Lower Game

  • Topics: Using Dictionaries, Conditionals, Functions, Debugging, and Random module

Intermediate

Day 15 Project: Coffee Machine

  • Topics: Setup Local Development Environment and Coffee Machine Project, PEP8 Style Guide, Functions, Using Pycharm

Day16 Project: Coffee Machine in OOP

  • Topics: Object Oriented Programming (OOP): Classes, Objects, Constructing Objects, Accessing Attributes, Add Python Packages, Modifying Object Attributes and Calling Methods

Day17 Project: Quiz Game

  • Topics: Object Oriented Programming (OOP): Classes, Attributes, Class Constructors (init()), Methods

Day 18 Project: The Hirst Painting

  • Topics: Turtle Graphics, Tuples, and Importing Modules

Day 19 Project: Etch a Sketch and Turtle Racing Game

  • Topics: Turtle Graphics, Event listeners, Functions, Objects States and Instances, Turtle Coordinate System

Day 20 Project: Snake Game Part 1

  • Topics: Turtle module, Animating Snake Segments, OOP and classes

Day 21 Project: Snake Game Part 2

  • Topics: Turtle module, Class Inheritance, Slicing

Day 22 Project: Pong Game

  • Topics: Turtle module, OOP: Classes, Game Logic

Day 23 Project: Turtle Crossing Game Capstone

  • Topics: OOP: Constructor Classes, Inheritance, Turtle Coordinate System, Turtle Game engine

Day 24 Project: Mail Merge Project

  • Topics: Open, Read, and Write to Files, Relative and Absolute File Paths, Readlines Method, Replace() Method, Strip() Method

Day 25 Project: The States Game

  • Topics: CSV Library, Pandas Library: DataFrames and Series

Day 26 Project: NATO Alphabet

  • Topics: List Comprehension, Dictionary Comprehension, Iterate over Pandas DataFrames

Day 27 Project: Unit Converter Program

  • Topics: Graphical User Interfaces with Tkinter (Widgets and Methods), Advanced Functions (*Args, **Kwargs)

Day 28 Project: Pomodoro Timer

  • Topics: Tkinter, Canvas Widget, Add Images to Tkinter, UI, Dynamic Typing

Day 29 Project: Password Manager 1.0

  • Topics: Tkinter: Working with Images and Setting up the Canvas, Using grid() and columnspan Dialogue boxes and pop-ups, Reviewed list comprehensions, and join() method

Day 30 Project: Password Manager 2.0

  • Topics: Errors, Raising Exceptions, Write, read and update JSON Data, IndexError Handling, KeyError Handling, Exception Handling

Day 31 Project: Capstone Project Flash Card Program

  • Topics: Tkinter, Exception handling, Write, read and update JSON Data, Reading CSVs, Pandas, Opening and Writing to Files

Day 32 Project: Automated Happy Birthday Email

  • Topics: Email SMTP, Datetime module, Pandas, Dictionary comprehensions

Day 33 Project: ISS Overhead Notifier Project

  • Topics: API: API Endpoints, Making API Calls, HTTP Codes, Exceptions, JSON Data, API Parameters, Python split() method

Day 34 Project: The Quizzler App (GUI Quiz App)

  • Topics: API: Review API Endpoints, Making API Calls, API Parameters, Unescaping HTML Entities, Class based Tkinter UI, Python Typing, Type Hints

Day 35 Project: Rain Alert App

  • Topics: API: API Keys, Authentication, Environment Variables, Sending SMS, Review python slicing

Day 36 Project: Stock News Monitoring

  • Topics: API: API Keys, Authentication, Sending Messages, working with JSON

Day 37 Project: Habit Tracking

  • Topics: Advanced Authentication and POST/PUT/DELETE Requests

Day 38 Project: Exercise Tracking with Python and Google Sheets

  • Topics: APIs and making POST Requests, Python DateTime strftime(), Authorization Headers (Basic Authentication), Environment Variables, OpenAi GPT-3, Nutritionix API

Day 39 CAPSTONE Project: Part 1 - Cheap Flight Finder

  • Topics: APIs and making POST Requests, Python DateTime strftime(), Timedelta in datetime module, OOP Classes, Exception Handling

Day 40 CAPSTONE Project: Part 2 - Cheap Flight Finder

  • Topics: APIs and making POST Requests, Python DateTime strftime(), Timedelta in datetime module

Day 41 Project: Personal Website (simple HTML)

  • Topics: Intro to HTML: HTML Tag, HTML Boilerplate, HTML Lists, HTML Image Elements, HTML Links and Anchor Tags

Day 42 Project: Personal Website (with tables and forms)

  • Topics: Intermediate HTML: HTML Tables, HTML Forms

Day 43 Project: Personal Website (with simple CSS)

  • Topics: Intro to CSS: Inline, Internal and External CSS, Debugging CSS Code, ID Selectors, Class Selectors, Tag Selectors

Day 44 Project: Personal Website (Stylised with Advanced CSS)

  • Topics: Intermediate CSS: Favicons, Box Model, CSS Display Property, Static and Relative Positioning, Absolute Positioning, Centering Elements with CSS, Font Styling, CSS Sizing, Font Properties

Day 45 Project: Scrape a List of 100 Greatest Movies

  • Topics: Scraping the Web with Beautiful Soup

Day 46 Project: Spotify Playlist Musical Time Machine

  • Topics: Scraping the Web with Beautiful Soup, strip() method, list comprehensions, requests module

Day 47 Project: Amazon Price Tracker

  • Topics: Scraping the Web with Beautiful Soup, strip() method, smtplib module, requests module

Day 48 Project: Cookie Game Playing Bot

  • Topics: Scraping with Selenium: Webdriver, Finding and Selecting Elements on a website, automate forms, clicking buttons; Advanced Web Scraping

Day 49 Project: LinkedIn Automated Job Applications with Selenium

  • Topics: Scraping with Selenium: Webdriver, Finding and Selecting Elements on a website; Exception Handling: NoSuchElementException

Day 50 Project: Auto Dating Swiping Bot

  • Topics: Selenium (Xpath, window_handles, switch_to_window, ElementClickInterceptedException) and Python

Day 51 Project: Twitter Bot

  • Topics: Selenium (Xpath), Python, Review Classes and methods

Day 52 Project: Instagram Follower Bot

  • Topics: Selenium, Python, Classes, Exception Handling

Day 53 Project: CAPSTONE Project: Data Entry Job Automation

  • Topics: Selenium, Python, Selenium

Day 54 Project: Web Development with Flask

  • Topics: Python, Flask Framework

Day 55 Project: HTML & URL Parsing in Flask and the Higher Lower Game

  • Topics: Advanced Decorators, Rendering HTML, Parsing URLs and Flask Debugging

Day 56 Project: Name Card Website Template

  • Topics: Static files, HTML/CSS File Rendering and a Flask Personal Site

Day 57: Templating with Jinja on Flask Apps

  • Topics: URL Building and Templating with Jinja in a Flask Application

Day 58: Startup Website with Bootstrap

  • Topics: Bootstrap layout, Bootstrap Components

Advanced

Day 59 Project: Blog Capstone Part 2

  • Topics: Bootstrap templates for a multi-page Website, Dynamically generate pages, Interactive and adaptive Nav bars, Mobile responsiveness, API, Jinja to render templates

Day 60 Project: POST Requests with Flask and HTML Forms

  • Topics: POST requests with Flask, HTML Forms, send emails with smtplib

Day 61 Project: Advanced Forms with Flask-WTForms

  • Topics: Flask-Bootstrap, Flask-WTF extension to create Forms, Form Validation, Jinja and Flask-Bootstrap Template Inheritance

Day 62 Project: Coffee and Wifi Project

  • Topics: Advanced Flask, WTForms, Bootstrap, Jinja, CSS and CSV

Day 63 Project: Virtual Bookshelf

  • Topics: Flask, SQLite Databases (SQLite3; SQLAlchemy), CRUD Operations with SQLAlchemy

Day 64 Project: Top 10 Movies Website

  • Topics: Flask, SQLite Databases (SQLite3; SQLAlchemy), CRUD Operations with SQLAlchemy, requests module

Day 65 Project: Hotel Website Design with Canva

  • Topics: Color Theory, Typography, User Interface (UI) Design, User Experience (UX) Design, Daily UI

Day 66 Project: Build an API with RESTful Routing

  • Topics: REST APIs, HTTP GET, POST PUT, PATCH, DELETE, (CRUD), API Documentation, Postman (API Testing Tool)

Day 67 Project: Blog Capstone Part 3: Building a RESTful Blog with Editing

  • Topics: SQLAlchemy, WTForms, Datetime module, Jinja Templating

Day 68 Project: Authentication with Flask

  • Topics: Authentication, Encryption and Hashing, Salting Passwords, Hashing and Salting using Wekzeug, Flask-Login, Flask Flash Messages Passing Authentication Status to Templates (Template Inheritance)

Day 69 Project: Blog Capstone Project Part 4: Adding Users

  • Topics: Flask, Get/POST requests, flask-gravatar, Relational Databases(SQLAlchemy) CKEditorField, Python decorators, WTForm, Werkzeug (hash and salt passwords), Gravatar

Day 70: Git, Github, and Version Control

  • Topics: Git, Github, and Version Control: Git Commands, Creating a Remote Repository, Creating Files (.gitignore), Branching, Merging, Cloning, Forking, Pull vs Push Requests

Day 71: Deploying the Web Application

  • Topics: Flask, Web Hosting (Render), .gitignore, Version Control, Environment Variables, Gunicorn, PostgreSQL

Day 72: Data Exploration with Pandas

  • Topics: Pandas, Python, Beautiful Soup (Web Scraping)

Day 73: Data Visualization with Matplotlib

  • Topics: Matplotlib, Pandas, Python

Day 74: Analyze Lego Data Set (Aggregate and Merge Data with Pandas)

  • Topics: Matplotlib (Create line, bar charts, scatter plot), Use relational databases by using primary and foreign keys, Pandas (.agg(), .groupby(), .merge(), .sort_values(), .value_counts(), .rename()), Python

Day 75: Google Trends Data: Resampling and Visualizing Time Series

  • Topics: Pandas and Matplotlib: Data Cleaning, Resampling Time Series Data, Converting to Datetime, Data Visualisation (Line Charts, Locators, DateFormatters, Line Style, and Markers)

Day 76: Analyze Android App Store (with Plotly)

  • Topics: Pandas (Data Cleaning: Removing NaN Values, Finding and Removing Duplicates, Dropping Unused Columns, Removing NaN Values, Converting Data to Numeric Types, Working with Nested Column Data) and Plotly ( Pie, Donut, Bar Charts, Box Plots, Scatter Plots, Colour Scales)

Day 77: Computation with Numpy and N-dimensional Arrays

  • Topics: Numpy: Generating and Manipulating ndarrays, Broadcasting, Scalars and Matrix Multiplication, Linear Algebra with Vectors, Manipulating Images as ndarrays

Day 78: Linear Regression and Data Visualization with Seaborn

  • Topics: Seaborn (Regression a scatter plot, Bubble charts), Matplotlib, Pandas, Linear regression with scikit-learn, convert data with floor division.

Day 79: Analyzing the Nobel Prize with Plotly, Matplotlib, and Seaborn

  • Topics: Seaborn , Matplotlib, Plotly

Day 80: T-Tests & Distributions: Analyzing a Hospital Data Set

  • Topics: Matplotlib, Plotly, Numpy, Scipy, T-tests

Day 81: Capstone Project: Predict Housing Prices

  • Topics: Seaborn, Plotly

Day 82: Professional Portfolio Project: Text to Morse Code Converter

  • Topics: Python Scripting

Day 83: Professional Portfolio Project: Portfolio Website

  • Topics: HTML 5 Template, Flask, SMTPLIB

Day 84: Professional Portfolio Project: Tic Tac Toe

  • Topics: Functions, list comprehensions, random module

Day 85: Professional Portfolio Project: Image Watermarking App

  • Topics: Tkinter, PIL library

Day 86: Professional Portfolio Project: Speed Typing Test

  • Topics: Tkinter, Pandas

Day 87: Professional Portfolio Project: Breakout Game

  • Topics: Python, Turtle

Day 88: Professional Portfolio Project: Cafes and Wifi Website

  • Topics: Python, Flask, SQLAlchemy, REST APIs, Jinja, Web Development

Day 89: Professional Portfolio Project: ToDo App

  • Topics: Python, Flask, SQLAlchemy, REST APIs, Auth, Web Development

About

These are my projects for Angela Yu's 100 Days of Python Bootcamp

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published