A simple-to-use tool for converting images and documents to presentation slides.
Note
This is the back end repo of DoC-To-Pow. For front end repo, please go here.
DoC-To-PoW is an AI-powered opensource service designed to quickly generate presentation slides by pre-existing documents. (For details of document types supported, please see the following section).
Main Page: Sample Output 1: Sample Output 2:
- Plain Text Files
- .txt
- .py
- .java
- ...
- Markdown Files (.md)
- Microsoft Documents (.docx only)
- Rich Text Files (.rtf)
- Images
- .png
- .jpg
- .jpeg
Here are a few steps to set up the entire service.
- Clone the front end repo
git clone https://github.com/clay-arras/dr-pow-frontend.git
- Enter front end project folder
cd ./dr-pow-frontend
- Install dependencies
npm install
- Start the front end service
npm run start
Now, you should be able to see the front end services runs without errors.
Note
The front end service is normally running on localhost:3000. You may change to other port if necessary.
In order to run back end service, please make sure you have git and python3 installed in your device.
- Clone the back end repo
git clone https://github.com/Lmh-java/Dr-Pow-Backend.git
- Enter back end project folder
cd ./Dr-Pow-Backend
- Install dependencies
pip install -r requirement.txt
- Config API Keys
Replace unsplash API key and openAI API key in config.ini with your api keys. - Check the Debug Flag set to false
Go to ppt_gen.py, at line 20, you will be able to see a variable named DEBUG_FLAG. Make sure it is False. Otherwise, external API calls will be disabled, and you can only access dummy test data for output.
import json
import logging
from typing import List
from PIL import Image
from pptx import Presentation
from template.history_template import HistoryTemplate
from template.pastel_template import PastelTemplate
from template.plain_template import PlainTemplate
from template.minimalistic_template import MinimalisticTemplate
from template.school_template import SchoolTemplate
from template.portfolio_template import PortfolioTemplate
from api.openai_api import query_chatgpt3_5
from api.unsplash_api import search_photo, download_photo
# FIXME: IF THIS IS TRUE, IT WILL DISABLE THE API CALLS AND ONLY OUTPUT DUMMY TEST DATA.
DEBUG_FLAG = False
- Run main.py
python main.py
Overview
Front End | Back End | UI / UX |
---|---|---|
Next UI | FastAPI | Figma |
React.js | OpenAI | |
Tailwind CSS | Google OCR |
Please see details in package.json for front end and requirement.txt for back end.
- Neil Lin - Front End Dev
- Minghao Li - Back End Dev
- Sam Shan - Front End Dev
- Jennifer Park - UI/UX design
DevPost: https://devpost.com/software/doc-to-pow
Neil Lin's Github: https://github.com/clay-arras
Minghao Li's Github: https://github.com/Lmh-java
Sam Shan's Github https://github.com/ssaem1