Skip to content
This repository


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
branch: master

Fetching latest commit…


Cannot retrieve the latest commit at this time

Octocat-spinner-32 app
Octocat-spinner-32 config
Octocat-spinner-32 db
Octocat-spinner-32 doc
Octocat-spinner-32 features
Octocat-spinner-32 lib
Octocat-spinner-32 log
Octocat-spinner-32 public
Octocat-spinner-32 script
Octocat-spinner-32 spec
Octocat-spinner-32 vendor
Octocat-spinner-32 .gitignore
Octocat-spinner-32 .rspec
Octocat-spinner-32 Capfile
Octocat-spinner-32 Gemfile
Octocat-spinner-32 Gemfile.lock
Octocat-spinner-32 README
Octocat-spinner-32 Rakefile

This site facilitates generation of personalized company handbooks. User may provide the company name, logo and an email address and to receive a company handbook. The handbook will be sent via mail as a PDF attachment; it consists of photos, some of them will have a user's logo overlaid on them.


1. This project uses Paperclip with scaling and this has some requirements. Namely: A. ImageMagick has to be installed on server B. Paperclip must know the ImageMagick's path, to be set at the environment script (./config/environments)

2. prawn is used for creating pdfs. Some background things affect the time of pdf generation: A. Prawn should not resize images, it should get them resized from Paperclip. B. Images should not have an alpha channel.

3. The project has some hardcoded values:
  a. the preview handbook has a sample logo (overlaid), kept in the public/images category, not referenced anywhere in the database
  b. the pdfs are sent from a hardcoded email address, should be specified in ./config/smtp.yml (see smtp.yml.example)
  c. admin account and analytics / recaptcha account IDs should be specified in ./config/passwords.yml (see passwords.yml.example)
  c. the title page of a pdf document has a hardcoded background, taken from an image (kept in public/images), for details see the pdf creation method (search for yourself, last seen in ./app/models/handbook.rb)

4. The project uses Delayed Job queuing; therefore a queue worker has to be started (if these jobs are to be done). Do this with rake jobs:work (done via capistrano on a production server)
Something went wrong with that request. Please try again.