Skip to content

Coding Projects in Python. Based on the course 100 Days of Code by Dr. Angela Yu.

Notifications You must be signed in to change notification settings

qilinz/100-Python-Coding-Projects

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

100 Python Coding Projects

Based on the course 100 Days of Code by Dr. Angela Yu.

The course has been completed as the rest is about data analysis, which I have learned.

Advanced level

  • Day 70: Hosting Website. Host the blog website using Heroku. Switch the database to PostgresSQL. Check it here (It costs some time loading the inactive website). (Heroku, PostgresSQL)
  • Day 69: Blog Website. Add users to the blog website built previously. (Authentication in Flask, decorators in Flask, relational database, Gravatar in Flask)
  • Day 68: File Download Website. User with authentication can download file from the website. (Authentication in Flask, werkzeug module)
  • Day 67: Blog Website. Create database for the blog website. Users can edit past posts or create new posts. (RESTful Routing, Flask)
  • Day 66: Cafe & Wifi API. Create an API for users to access a database containing various cafe info regarding coffee price, location, wifi availability, etc. (API in Flask)
  • Day 64: My Top 10 Movies. Create a website listing my top 10 movies. Every movie can be edited and deleted and new movie can be added through TMDB API. (Flask, WTForms, SQLite, SQLAlchemy, TMDB API)
  • Day 63: Virtual Bookshelf. Users can save book ratings. (Database, SQLite, SQLAlchemy)
  • Day 62: Coffee & Wifi. Build a website listing café nearby. Users can also add their favorite café to the database. (Flask, WTForms, Bootstrap, CSV)
  • Day 61: Secret Website Build a website using Flask-WFT and Jinja template inheritance. (Flask-WFT, Jinja, Flask-Bootstrap module)
  • Day 59-60: Stylish Blog Website. Update the Day 57 project of blog website. (Flask, Jinja, Bootstrap, Advanced CSS)

Intermediate level

  • Day 58: App Website. Create an introduction website for an application. (Bootstrap, Advanced CSS)
  • Day 57: Blog Website. Create a blog website including home page and blog pages. Preview can be found here (Flask, Jinja)
  • Day 56: Personal Name Card. Create a personal name card using online html templates. Preview can be found here (Flask)
  • Day 55: Web-based Higher Lower Game. Users can guess the right number given a range. (Flask framework, HTML)
  • Day 54: Function Speed Checker. Report the running speed of functions using decorator functions. (Decorator Functions)
  • Day 53: Data Entry Job Automation . Gather info from websites according to requirements, and turn the info to excel using Google Form. (BeautifulSoup module, Selenium, Capstone Project)
  • Day 52: Auto Ins Follow Bot. Given an account name, follow the account's followings automatically. User can decide how many to follow. (Selenium)
  • Day 51: Internet Speed Twitter Complainer. Check current internet speed. If it's lower than what the internet provider has guaranteed, tweet on Twitter to complain. (Selenium)
  • Day 49: Automated Job Saver. Auto save jobs on LinkedIn that match filters. (Selenium)
  • Day 48: Automated Game Playing Bot. Create a bot for the Cookie Clicking Game. Cookie will be clicked automatically and users can adjust their strategies. (Selenium Webdriver, web scraping, web interaction)
  • Day 47: Amazon Price Tracker. Monitor the price of targeting product. Send user an email when it is lower than user's desired price. (BeautifulSoup module, web scraping, smtplib module)
  • Day 46: Musical Time Machine. Users type a specific date, a playlist of the Top 100 songs on that date will be generated and a link will be provided to listen to the playlist. (Spotify API, spotipy module, BeautifulSoup module)
  • Day 45: Top 100 Movies. Get the list of Top 100 movies through web scraping. (HTML, BeautifulSoup module)
  • Day 44: Stylish Personal Website. Set up a stylish personal website using intermediate HTML and CSS. (HTML, CSS)
  • Day 41-43: Basic Personal Website Set up a basic personal website using basic HTML. (HTML: text, image, link, table, form)
  • Day 39-40: Flight Club. Send club members an email with great flight deals. Users can sign up through this program. (Capstone project, Tequila flight search API, smtplib module, sheety API, OOP)
  • Day 38: Exercise Tracking. Analyse user's input through NLP and record the exercises in Google Sheet. (Datetime, Sheety API, Nutritionix API, authorization headers)
  • Day 37: Habit Tracking. Users can track reading habit and record the pages they read each day. (Pixela API, HTTP requests - POST, PUT, DELETE)
  • Day 36: Stock News Monitor. When user's targeting stock has a big price change, send the user SMS containing the latest news of the company. (News API, Alpha Vantage API, Twilio API)
  • Day 35: Rain Alert. Send an SMS alert to users when it will rain in the following 12 hours. (Twilio API, OpenWeatherMap API, environment variables)
  • Day 34: The GUI Quiz App. An improved version of Day 17 project using GUI. Users can take a quiz of 10 questions randomly generated by Trivia Database. Interface preview can be found here (API, unescape HTML entities, type hints)
  • Day 33: ISS Overhead Notifier. Send notification emails when International Space Station (ISS) is overhead at nights. (API, requests module, smtplib module)
  • Day 32: Birthday Wisher. Send emails to people whose birthday is today on a given list. (Smtplib module, datetime module)
  • Day 31: Flash Cards. Users can learn French through French-English flash cards and their progress is saved. Interface preview can be found here (Tkinter, Capstone project)
  • Day 29-30: Password Manager. Users can generate passwords and store passwords in a local file. Users can also search existing passwords by website name. Interface preview can be found here. (Tkinter, tkMessageBox, pyperclip, exception catching, working with JSON data)
  • Day 28: Pomodoro Timer. A Pomodoro timer follows the Pomodoro Technique. Interface preview can be found here. (Tkinter module).
  • Day 27: Miles to Kms Converter. Users can covert miles to kms. Tkinter widget demo can be found here. (Tkinter module, function arguments)
  • Day 26: NATO Phonetic. User's input will be transformed to NATO phonetic words. (List/ dictionary Comprehension)
  • Day 25: U.S. States Guessing Game. Users can guess US states as many as they want until all the states are guessed. The correct answer will be shown on the map. When the user quit the game, a csv file with states not guessed will be generated. (Working with csv files, Turtle Graphics)
  • Day 24-2: Mail Merge. Generate multiple letters using a letter example and a list of names. (Working with local files and directories)
  • Day 24-1: Better Snake Game. Players can help multiple times. Highest score is saved locally. (Working with local files)
  • Day 23: Turtle Crossing Game. Players help the turtle go cross a street full of cars. The cars speed up when level is up. (Turtle Graphics, Capstone Project)
  • Day 22: Pong Game. The famous Pong Game using Turtle Graphics. The ball is sent to random direction. (Turtle Graphics, class inheritance)
  • Day 20-21: Snake Game. The famous snake game using Turtle Graphics. (Turtle Graphics, class inheritance, slicing)
  • Day 19: Turtle Race. A turtle race game where 6 turtles compete with each other. User can bet which turtle is the winner. (Turtle Graphics, state and multiple instances)
  • Day 18: Hirst Painting. Mimic one of the Damien Hirst's Paintings using Turtle Graphics. Some mini turtle challenges can be found here. (Using modules, Turtle Graphics, tuples)
  • Day 17: Quiz Challenge. Users can take a quiz and get report of the result. (OOP practice: creating classes)
  • Day 16: Coffee Machine (OOP). Rewrite Day 15's project using Object-Oriented Programing. Class files are provided by the course. (Object-Oriented Programing)
  • Day 15: Coffee Machine. Users can buy three kinds of coffees on a coin-operated coffee machine. The profit and the remaining resources of the machine is calculated upon orders. Requirements of the project can be found here.

Beginner level

  • Day 14: Higher or lower. Users can guess who has more followers on a platform until they give a wrong answer. The flow chart of the game can be found here. (Final project for the beginner level)
  • Day 13: No project. Debug exercises.
  • Day 12: Number Guessing. Users need to find the right answer with limited attempts of the chosen difficulty. (Scope, constants)
  • Day 11: Blackjack. User can play the Blackjack with the computer dealer. It's a simplified version as the cards are infinite, namely the probability of drawing a card does not change. The flow chart can be found here. (Capstone Project of the first 10 days)
  • Day 10-2: Calculator. Calculator with four operations ("+", "-", "x", "/"). Users can continue the calculation based on the obtained result, or start a new calculation. (Functions with outputs)
  • Day 10-1: Days in month. Tell users how many days in the chosen month in the chosen year. (Functions with outputs)
  • Day 9: Blind Auction. Users can type their names and bids. The one whose bid is the highest will win. The flow chart can be found here. (Dictionary, loop in dictionary)
  • Day 8-2: Caesar Cipher. Users can encode or decode Caesar Cipher messages. (Function with parameters)
  • Day 8-1: Prime Checker. Users can check whether a number is a prime number. (Function with one parameter)
  • Day 7: Hangman Game. User need to guess the right word with limited lives. The game flow chart can be found here. (While loop, for loop, import statements, conditional statements)
  • Day 6: Lost in a maze. Solve one of the Karel Robot Challenge. Robot is located randomly in the maze and need to find the exit. (Functions, while loop)
  • Day 5: Password Generator. A password will be generated randomly by asking users how many letters, symbols and numbers are needed. There are two letter of password, easy one and hard one. The easy one is generated using the order letters, symbols and numbers. FOr the hard one, all kinds of characters are mixed. (For loop)
  • Day 4: Rock Paper Scissors. Users can play the game with the computer. (Randomisation, list)
  • Day 3: Treasure Island. Users will win if choose all choices correctly. (Conditional statements)
  • Day 2: Tip Calculator. Calculate the split bill for users. (Data type conversion, f-string)
  • Day 1: Band Name Generator. Combine user's inputs of city and pet name as the brand name.

About

Coding Projects in Python. Based on the course 100 Days of Code by Dr. Angela Yu.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published