Build a tool that allows a user to upload their pitch deck and display it on a web page.
At a minimum, you should have:
- A web page that allows a user to upload a file as a PDF. Bonus points for supporting PPT and other formats too.
- A backend that takes the uploaded file and generates an image for each slide.
- A web page that displays the deck using the image of each slide, like on the Wefunder profile page.
-
Live at http://wefunder-hw.us-east-2.elasticbeanstalk.com/ (Recommended)
-
Self setup
-
Self setup instructions
-
Download necessary software
A few types of software are needed for the conversion of different filetypes. Below are instructions for installing them on Ubuntu
-
Node >= 12.x
sudo apt install nodejs sudo apt install npm
-
graphicsmagick
sudo apt install graphicsmagick
-
ghostscript
sudo apt install ghostscript
-
LibreOffice
Note the location of where this is installed as it is needed later in the environment setup
sudo apt install libreoffice
-
Clone the repository
git clone https://github.com/Ryanjso/wefunder-hw
-
Set up environment variables
In the server folder is a file called
.env.example
. This holds all of the necessary environment variables to create this project.Copy the file once, name the new file .env, and add the necessary values. Do not commit this file to the Github repo
# In .env # default is: mongodb://localhost:27017/{databaseName} # Database. if you use MongoAtlas they will provide a connection string MONGO_CONNECTION= # AWS S3 Info AWS_ACCESS_ID= AWS_ACCESS_SECRET= AWS_BUCKET_NAME= # LibreOffice # The location of Libre Office on your device # Ex: /Applications/LibreOffice.app/Contents/MacOS/soffice SOFFICE_LOCATION=
-
Install the npm modules
# Inside the server directory npm install
# Inside the angular-wefunder-hw directory npm install
Run server/development environment:
# inside the server directory npm start
-
View server
(It will likely run on this specified port unless it is in use). Visit http://localhost:3000/ to view your site
-
Email: [email protected]