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

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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

Day 90: Professional Portfolio Project: Disappearing Text Writing App

  • Topics: Python, Tkinter

Day 91: Professional Portfolio Project: PDF to Audiobook

  • Topics: Python, Flask, W3.CSS, Web Development

Day 92: Professional Portfolio Project: Image Colour Palette Generator

  • Topics: Python, Flask, Pandas, PIL, W3.CSS

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