An open API service indexing awesome lists of open source software.

https://github.com/diegotoral/pressy

a tool for creating interactive presentations from boring PDF files (built over the night).
https://github.com/diegotoral/pressy

rails ruby vuejs

Last synced: about 2 months ago
JSON representation

a tool for creating interactive presentations from boring PDF files (built over the night).

Awesome Lists containing this project

README

        

# pressy



ruby version


rails version


Codeship Status


Coverage Status

*pressy* is a web based app for creating interactive presentations from *boring* PDF files.

## Features

*pressy* main features are:

- [x] Simpe user sign up with email
- [x] Support for creating presentations from PDF files
- [x] Presentations management (create, update, delete)
- [x] Preview presentations
- [ ] Support for adding audio to slides with drag & drop
- [ ] Slides sorting
- [ ] Interactive elements (polls, free text question, embed YouTube videos)
- [ ] Presentation statistics (answers, views, etc)
- [ ] Answers report dashboard
- [ ] Presentation exporter (zip)

## Codebase

### The Stack

We run on a Ruby on Rails 6 backend with sprinkles of Vue.js and vanilla JavaScript on the frontend.

## Getting Started

This section provides a high-level requirement & quick start guide.

### Prerequisites

- [Ruby](https://www.ruby-lang.org/en/): we recommend using [rbenv](https://github.com/rbenv/rbenv) to install the Ruby version listed on the badge.
- [Yarn](https://yarnpkg.com/): please refer to their [installation guide](https://yarnpkg.com/en/docs/install).
- [PostgreSQL](https://www.postgresql.org/) 9.4 or higher.
- [ImageMagick](https://imagemagick.org/): please refer to ImageMagick's [installation instructions](https://imagemagick.org/script/download.php). Alternatively, macOS users can install ImageMagick with `brew install imagemagick`
- A process manager: we recommend using [hivemind](https://github.com/DarthSim/hivemind)
- [Docksplit](http://documentcloud.github.io/docsplit/): please refer to their [Installation & Dependencies](http://documentcloud.github.io/docsplit#installation)

### Standard Installation

1. Make sure all the prerequisites are installed.
1. Fork or clone *pressy* repository.
1. Clone the repository, ie. `git clone [email protected]:/pressy.git`
1. Run `bin/setup`
1. Set up your environment variables/secrets

- Take a look at `.env`. This file lists all the `ENV` variables we use and provides fake default for any missing keys.
- Change values at `.env` to meet your local setup

1. That's it! Use `foreman` or `hivemind` to start the server
```
$ hivemind Procfile.dev
```

### Docker Installation

[TODO]

### Workflow

We use [Spring](https://github.com/rails/spring), and it is already included in the project.

1. Use the provided bin stubs to start Spring automatically, i.e. `bin/rails server`, `bin/rspec spec/models/`, `bin/rails db:migrate`.
1. If Spring isn't picking up on new changes, use `spring stop`.

## Deployment

[coming soon!]