2015-11-16 22:25:39 +00:00
TellForm
2015-12-12 20:08:48 +00:00
========
2015-06-29 22:51:29 +00:00
2016-07-12 01:08:26 +00:00
Current stable release: v1.3.0
2016-07-14 22:34:59 +00:00
[![Donate ](https://img.shields.io/badge/Donate-PayPal-green.svg )](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick& hosted_button_id=UY555MCBZM722)
2016-04-29 08:11:49 +00:00
[![Stories in Ready ](https://badge.waffle.io/whitef0x0/tellform.svg?label=ready&title=Ready )](http://waffle.io/whitef0x0/tellform)
2015-11-23 19:19:02 +00:00
[![Build Status ](https://travis-ci.org/whitef0x0/tellform.svg?branch=master )](https://travis-ci.org/whitef0x0/tellform)
2016-05-13 00:00:42 +00:00
![Project Status ](https://img.shields.io/badge/status-beta-yellow.svg )
2015-12-12 20:08:48 +00:00
[![Code Climate ](https://codeclimate.com/github/whitef0x0/tellform/badges/gpa.svg )](https://codeclimate.com/github/whitef0x0/tellform)
2016-04-29 08:07:19 +00:00
[![Codacy Badge ](https://api.codacy.com/project/badge/Grade/3491e86eb7194308b8fc80711d736ede )](https://www.codacy.com/app/david-baldwin/tellform?utm_source=github.com& utm_medium=referral& utm_content=whitef0x0/tellform& utm_campaign=Badge_Grade)
2016-04-29 08:08:26 +00:00
[![Gitter ](https://badges.gitter.im/whitef0x0/tellform.svg )](https://gitter.im/whitef0x0/tellform?utm_source=badge& utm_medium=badge& utm_campaign=pr-badge)
2015-11-13 01:00:18 +00:00
2015-12-12 20:08:48 +00:00
TellForm is an *opensource alternative to TypeForm* built ontop of nodejs that can create stunning forms from PDFs or from scratch
2015-08-21 01:10:06 +00:00
2016-06-18 21:29:22 +00:00
[See examples here ](https://tellform.com/examples )
2016-05-20 22:03:00 +00:00
2016-04-29 08:32:25 +00:00
##Screenshots
2016-07-21 02:06:12 +00:00
< img src = "design/screenshots/tellform_screenshot1.png" width = "500px" >
< img src = "design/screenshots/analytics.png" width = "500px" >
2016-04-29 08:32:25 +00:00
2016-07-21 02:06:12 +00:00
## Sponsors
[<img src="https://www.digitalocean.com/assets/images/logos-badges/png/DO_Logo_Horizontal_Blue-3db19536.png" width="250px"> ](https://digitalocean.com/ )
[<img src="https://a0wx592cvgzripj.global.ssl.fastly.net/_static/780f0361d74cc3da6680cfa4f855336a/getsentry/images/branding/png/sentry-horizontal-black.png" width="250px"> ](https://getsentry.com/ )
[<img src="https://dka575ofm4ao0.cloudfront.net/assets/base/logos/common-aececb0b4319b8fb61ac5b47a6983f96.png" width="250px"> ](https://statuspage.io/ )
2016-04-29 08:32:25 +00:00
2016-04-22 01:32:40 +00:00
## Features
2015-08-21 01:10:06 +00:00
2016-04-22 22:55:53 +00:00
###Currently following features are implemented:
2016-06-09 00:05:58 +00:00
-Multi-Language Support
2015-08-21 01:16:35 +00:00
-11 possible types of form fields
-Editable startpage
2016-07-05 01:22:50 +00:00
-Export Submissions to XLS, JSON or CSV
-Native Analytics and Google Analytics Support
-Custom subdomains
-Embeddable Forms
2015-08-21 01:10:06 +00:00
2016-04-22 01:32:40 +00:00
###TODO:
2015-08-21 01:16:35 +00:00
-Implement encryption for all form data
-Integrate AWS for PDF saving
-Add Typeform API integration
2015-11-06 19:12:00 +00:00
-Add plugin/3rd party integration support (ala Slack)
2015-08-21 01:16:35 +00:00
-Create wiki for easy installation and setup
2015-08-21 01:10:06 +00:00
2015-06-29 22:51:29 +00:00
2015-07-09 22:15:34 +00:00
## Quickstart
2015-06-29 22:51:29 +00:00
2016-06-07 19:44:52 +00:00
Before you start, make sure you have Redis installed and running at 127.0.0.1:6379
2015-07-09 22:15:34 +00:00
Install dependencies first.
2015-06-29 22:51:29 +00:00
```bash
$ npm install
2015-07-09 22:15:34 +00:00
$ bower install
2015-06-29 22:51:29 +00:00
```
2015-11-23 19:19:02 +00:00
Setup environment.
```bash
$ grunt build
```
2016-05-10 07:56:58 +00:00
Create your user account
```bash
$ node ./scripts/setup.js
```
OR create your .env file
2016-04-12 06:04:21 +00:00
```
2016-04-24 21:10:53 +00:00
GOOGLE_ANALYTICS_ID=yourGAID
PRERENDER_TOKEN=yourPrerender.ioToken
COVERALLS_REPO_TOKEN=yourCoveralls.ioToken
MAILER_EMAIL_ID=SMTP_Injection
2016-04-12 06:04:21 +00:00
MAILER_FROM=noreply@yourdomain.com
2016-04-24 21:10:53 +00:00
MAILER_PASSWORD=your_sparkpost_apikey
MAILER_SERVICE_PROVIDER=SparkPost
2016-04-12 06:04:21 +00:00
BASE_URL=yourdomain.com
2016-05-11 02:44:33 +00:00
DSN_KEY=yourPrivateRavenKey
2015-08-21 01:03:05 +00:00
```
2016-05-11 02:44:33 +00:00
Side note: ___Currently we are using Raven and Sentry [https://www.getsentry.com](https://www.getsentry.com) for error logging. To use it you must provide a valid private DSN key in your .env file and a public DSN key in app/views/layout.index.html___
2016-04-25 15:49:15 +00:00
2016-04-21 19:10:00 +00:00
Create this directory or you will get errors.
2016-04-12 06:04:21 +00:00
2015-06-29 22:51:29 +00:00
```
2016-04-21 19:10:00 +00:00
mkdir uploads/pdfs
```
Edit the 'env' config in gruntfile.js to make sure your .env file is being used. If you don't include this your app won't run
To run development version:
2016-05-13 22:34:53 +00:00
Set ```NODE_ENV=development``` in .env file
```$ grunt````
2016-04-25 15:49:15 +00:00
2016-04-21 19:10:00 +00:00
To run production version:
2016-05-13 22:34:53 +00:00
Set ```NODE_ENV=development``` in .env file
```$ grunt````
2015-06-29 22:51:29 +00:00
2016-05-13 22:34:53 +00:00
Your application should run on port 3000 or the port you specified in your .env file, so in your browser just go to [http://localhost:3000 ](http://localhost:3000 )
2015-06-29 22:51:29 +00:00
## Testing Your Application
You can run the full test suite included with MEAN.JS with the test task:
```
$ grunt test
```
This will run both the server-side tests (located in the app/tests/ directory) and the client-side tests (located in the public/modules/*/tests/).
To execute only the server tests, run the test:server task:
```
$ grunt test:server
```
And to run only the client tests, run the test:client task:
```
$ grunt test:client
```
2015-07-30 00:42:55 +00:00
Currently the live example uses heroku github deployments. The Docker file is out of date and does not work. If someone wishes to get it working feel free to submit a pull request.
2015-06-29 22:51:29 +00:00
2015-11-23 21:06:02 +00:00
To calculate your total test coverage with Istanbul, run the coverage task
2015-11-23 19:19:02 +00:00
```bash
$ grunt coverage
```
2015-11-23 21:06:02 +00:00
To calculate your server-side test coverage with Istanbul, run the coverage task
```bash
$ grunt coverage:server
```
To calculate your client-side test coverage with Istanbul, run the coverage task
```bash
$ grunt coverage:client
```
2016-05-25 21:36:35 +00:00
## Where to get help
2015-06-29 22:51:29 +00:00
2016-05-25 21:36:35 +00:00
[Gitter Chat ](https://gitter.im/whitef0x0/tellform )
[Official Twitter ](https://twitter.com/tellform_real )
## Contributor list
[David Baldwynn ](https://github.com/whitef0x0/ )
[Samuel Laulhau ](https://github.com/lalop )
2015-12-12 20:08:48 +00:00
2016-06-06 03:32:26 +00:00
[Arun Pattnaik ](https://github.com/arunpattnaik )
2016-05-18 23:12:08 +00:00
## Mentions on the Web
2016-05-18 23:29:59 +00:00
2016-06-03 00:32:19 +00:00
[Mister Ad ](http://start.mister-ad.biz/newsticker/open-source-alternative-zu-typeform-tellform-in-der-kurzvorstellung/ )
2016-05-18 23:12:08 +00:00
[t3n.de ](http://t3n.de/news/open-source-alternative-typeform-tellform-707295/ )
2016-05-18 23:29:59 +00:00
[BootCSS Expo ](http://expo.bootcss.com/ )
2016-05-18 23:12:08 +00:00
[Product Hunt ](https://www.producthunt.com/tech/tellform )
2016-05-18 23:29:59 +00:00
2016-05-18 23:12:08 +00:00
[Hacker News Post ](https://news.ycombinator.com/item?id=11711095 )
2016-05-18 23:29:59 +00:00
2016-05-18 23:12:08 +00:00
[Reddit Posts ](https://www.reddit.com/domain/tellform.com/ )
2016-07-21 01:55:51 +00:00
[Betapage ](https://betapage.co/startup/tellform )
2016-05-25 21:36:35 +00:00
## Credits
Inspired/built off the great work of the [MeanJS team ](https://github.com/mean/ ) and [Typeform ](http://typeform.com )