Overview
Installation
Run the application
Project Scaffolding
Dependencies
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.
pip install -r requirements.txt
$ flask run
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
├── 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.