Skip to content

loxinchi/MemeGenerator

Repository files navigation

MemeGenerator

Overview
Installation
Run the application
Project Scaffolding
Dependencies

Overview

A multimedia application to dynamically generate memes, including an image with an overlaid quote. User can make meme by providing image url and quote, author text.

  • Interact with a variety of complex filetypes.

  • Load quotes from a variety of filetypes (PDF, Word Documents, CSVs, Text files).

  • Load, manipulate, and save images.

  • Accept dynamic user input through a command-line tool and a web service. This emulates the kind of work you’ll encounter as a full stack develope

  • Object-oriented thinking in Python, including abstract classes, class methods, and static methods.

  • DRY (don’t repeat yourself) principles of class and method design.

Installation

pip install -r requirements.txt

Run the app

$ flask run
  * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)

DEMO

demo1

demo2

Project Scaffolding

├── MemeEngine.py
├── QuoteEngine              <- Pasrse different types of quote data into QuoteModel 
│   ├── CSVIngestor.py
│   ├── DOCXIngestor.py
│   ├── Ingestor.py
│   ├── IngestorInterface.py
│   ├── PDFIngestor.py
│   ├── QuoteModel.py        <- QuoteModel Object
│   ├── TXTIngestor.py       
│   └── exceptions.py        <- Customized exception
├── _data                    <- Resource files of quotes, images, font
│   ├── DogQuotes
│   ├── font
│   ├── SimpleLines
│   └── photos
├── app.py                   <- Load resources and randomly choose one image and QuoteModel and render to html.
├── meme.py                  <- This file generates the final image path.
├── requirements.txt         <- List of project dependencies.
├── templates                <- HTML layout.
├── test                     <- Scripts to run the unittest.

Dependencies

Follow PEP8 Style Guide for Python Code

About

Udacity project MemeGenerator

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published