diff --git a/README.md b/README.md index 40ca2c2c..c11f792e 100755 --- a/README.md +++ b/README.md @@ -1,187 +1,75 @@ -TellForm 2.1.0 +OhMyForm 0.2.1 ======== -[![Code Shelter](https://www.codeshelter.co/static/badges/badge-flat.svg)](https://www.codeshelter.co/) -[![Build Status](https://travis-ci.org/tellform/tellform.svg?branch=master)](https://travis-ci.org/tellform/tellform) -![Project Status](https://img.shields.io/badge/status-2.1.0-green.svg) -[![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=tellform/tellform&utm_campaign=Badge_Grade) + + + + +![Project Status](https://img.shields.io/badge/status-0.2.1-green.svg) + + ![Discord](https://img.shields.io/discord/595773457862492190.svg?label=Discord%20Chat) -> An *opensource alternative to TypeForm* that can create [stunning mobile-ready forms](https://tellform.com/examples) , surveys and questionnaires. +> An *open source alternative to TypeForm* that can create [stunning mobile-ready forms](https://ohmyform.com/examples) , surveys and questionnaires. -[![Deploy](https://www.herokucdn.com/deploy/button.svg)](https://heroku.com/deploy?template=https://github.com/tellform/tellform/tree/master) +[![Deploy](https://www.herokucdn.com/deploy/button.svg)](https://heroku.com/deploy?template=https://github.com/ohmyform/ohmyform/tree/production) -## Table of Contents +##Table of Contents -- [Features](#features) -- [How to Contribute](#how-to-contribute) -- [Quickstart](#quickstart) -- [Deploying with Docker](#deploying-with-docker) -- [Testing your Application](#testing-your-application) -- [Advanced Configuration](#configuration) -- [Where to Get Help](#where-to-get-help) -- [Sponsors](#sponsors) -- [Backers](#backers) -- [Contributors](#contributors) -- [Mentions on the Web](#mentions-on-the-web) + -## Features + - [Table of Contents](#table-of-contents) + - [Features](#features) + - [Currently following features are implemented:](#currently-following-features-are-implemented) + - [On the Roadmap for v1.0.0](#on-the-roadmap-for-v100) + - [How to Contribute](#how-to-contribute) + - [Quickstart](#quickstart) + - [Configuration](#configuration) + - [Where to get help](#where-to-get-help) + - [Sponsors](#sponsors) + - [Backers](#backers) + - [Contributors](#contributors) + - [Mentions on the Web](#mentions-on-the-web) -### Currently following features are implemented: + -- Multi-Language Support -- 11 possible question types -- Editable start and end pages -- Export Submissions to XLS, JSON or CSV -- Native Analytics and Google Analytics Support -- Custom Subdomains for each User -- Embeddable Forms -- Forms as a Service API -- Deployable with Heroku and DockerHub +##Features -### On the Roadmap for v3.0.0 -- Implement encryption for all form data -- Add Typeform API integration -- Add plugin/3rd party integration support (ala Slack) -- Create wiki for easy installation and setup -- Add Stripe/Payment Form field -- Add Custom Background and Dropdown Field Images -- Add File Upload Form Field +###Currently following features are implemented: + - Multi-Language Support + - 11 possible question types + - Editable start and end pages + - Export Submissions to XLS, JSON or CSV + - Native Analytics and Google Analytics Support + - Custom Subdomains for each User + - Embeddable Forms + - Forms as a Service API + - Deployable with Heroku and DockerHub + +### On the Roadmap for v1.0.0 + - Implement encryption for all form data + - Add Typeform API integration + - Add plugin/3rd party integration support (ala Slack) + - Create wiki for easy installation and setup + - Add Stripe/Payment Form field + - Add Custom Background and Dropdown Field Images + - Add File Upload Form Field + + + -All contributors are eligible to get a free [TellForm Sticker](https://www.stickermule.com/marketplace/15987-tellform-round-sticker). All you have to do is submit a PR, get it accepted, email your address to team [at] tellform.com and we'll send you a sticker that you can proudly put on your laptop. +##Quickstart -## Quickstart +Follow documentation hosted on [OhMyForm.com](https://OhMyForm.com/) it will be the main and hopefully only location to obtain the up to date documentation. -Before you start, make sure you have -1. [Redis](https://redis.io/) installed and running at 127.0.0.1:6379 -2. [MongoDB](https://www.mongodb.com/) installed and running at 127.0.0.1:27017 (OR specify the host and port in config/env/all) - -Also make sure to install [DNS Masq](http://www.thekelleys.org.uk/dnsmasq/doc.html) or equivalent if running it locally on your computer (look at dns_masq_setup_osx for instructions on OSX) - -Install dependencies first. -```bash -$ npm install -$ bower install -``` - -Setup environment. -```bash -$ grunt build -``` - -Create your user account -```bash -$ node ./scripts/setup.js -``` - -OR create your .env file -``` -GOOGLE_ANALYTICS_ID=yourGAID -PRERENDER_TOKEN=yourPrerender.ioToken -COVERALLS_REPO_TOKEN=yourCoveralls.ioToken -BASE_URL=localhost -DSN_KEY=yourPrivateRavenKey - -# Mail config -MAILER_EMAIL_ID=user@domain.com -MAILER_PASSWORD=some-pass -MAILER_FROM=user@domain.com - -# Use this for one of Nodemailer's pre-configured service providers -MAILER_SERVICE_PROVIDER=SendGrid - -# Use these for a custom service provider -# Note: MAILER_SMTP_HOST will override MAILER_SERVICE_PROVIDER -MAILER_SMTP_HOST=smtp.domain.com -MAILER_SMTP_PORT=465 -MAILER_SMTP_SECURE=TRUE - -``` - -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___ - -#### To run the development version: - -Set ```NODE_ENV=development``` in .env file -```$ grunt``` - -#### To run the production version: - -Set ```NODE_ENV=production``` in .env file -```$ grunt``` - -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) - -## Deploying with Docker - -To deploy with docker, first install docker [here](https://docs.docker.com/engine/installation/). - -Then run follow these steps: - -### Step 1: Clone the repo - -`$ git clone https://github.com/tellform/docker_files.git` - -### Step 2: Setup TellForm Configuration - -Create your .env file by copying the .env.dist file included in the repo and changing it to suit your deployment. - -Important: You need to fill out all of the ENV variables in the "Mail Settings" section or your TellForm instance won't work. - -If you want to have https, make sure to change 'TLS_FLAVOR' - -### Step 3: Start your TellForm instance - -`docker-compose up -d` - -TellForm should now be accessible on http://localhost - -## Testing Your Application -You can run the full test suite included with TellForm 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 -``` - -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. - -To calculate your total test coverage with Istanbul, run the coverage task -```bash -$ grunt coverage -``` - -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 -``` - -## Configuration +##Configuration TellForm's configuration is done with environment variables. To set an option for TellForm, open/create your .env file and set add `ENV_VAR=somevalue` to set the ENV_VAR variable to the value `somevalue`. @@ -200,7 +88,7 @@ TellForm's configuration is done with environment variables. To set an option fo | MAILER_EMAIL_ID | A string | N/A | Username credential for the SMTP MAIL service used to send signup/verification/lost password emails. | Yes | | MAILER_PASSWORD | A string | | Password credential for the SMTP MAIL service used to send signup/verification/lost password emails. | Yes | | MAILER_FROM | A valid email | noreply@tellform.com | Email address that all mail should be sent from. | No | -| MAILER_SERVICE_PROVIDER | A service from https://nodemailer.com/smtp/well-known/ | | A "well-known" email service that is supported by nodemail. If MAILER_SMTP_HOST is enabled, this is ignored. | Only if MAILER_SMTP_HOST is not set | +| MAILER_SERVICE_PROVIDER | A service from [https://nodemailer.com/smtp/well-known/](https://nodemailer.com/smtp/well-known/) | | A "well-known" email service that is supported by nodemail. If MAILER_SMTP_HOST is enabled, this is ignored. | Only if MAILER_SMTP_HOST is not set | | MAILER_SMTP_HOST | A valid URL | | URL to the SMTP server of your choice | Only if MAILER_SERVICE_PROVIDER is not set | | MAILER_SMTP_PORT | A valid port number from 0 - 65535 | | Port of the SMTP server of your choice. | Only if MAILER_SMTP_HOST is set | | MAILER_SMTP_SECURE | "TRUE" or "FALSE" | FALSE | Boolean that enables/disables SSL support for your SMTP client. | Only if MAILER_SMTP_HOST is set | @@ -214,14 +102,14 @@ TellForm's configuration is done with environment variables. To set an option fo | RAVEN_DSN | A valid Sentry.io DSN | N/A | Set this to your Sentry.io Public DSN to enable remote logging | No | | GOOGLE_ANALYTICS_ID | A valid Google Analytics ID | N/A | Set this to your GA id to enable GA tracking on your TellForm instance | No | -## Where to get help +##Where to get help [Gitter Chat](https://gitter.im/tellform/Lobby) [Official Twitter](https://twitter.com/tellform_real) -## Sponsors +##Sponsors Does your company use TellForm? Help keep the project bug-free and feature rich by [sponsoring the project](https://opencollective.com/tellform#sponsor). @@ -229,7 +117,7 @@ Does your company use TellForm? Help keep the project bug-free and feature rich -## Backers +##Backers Love our work and community? [Become a backer](https://opencollective.com/tellform). @@ -241,14 +129,14 @@ Love our work and community? [Become a backer](https://opencollective.com/tellfo -## Contributors +##Contributors | [
David Baldwynn](http://baldwynn.me)
[πŸ’»](https://github.com/tellform/tellform/commits?author=whitef0x0 "Code") [πŸ”§](#tool-whitef0x0 "Tools") [πŸš‡](#infra-whitef0x0 "Infrastructure (Hosting, Build-Tools, etc)") [πŸ“–](https://github.com/tellform/tellform/commits?author=whitef0x0 "Documentation") [πŸ’‘](#example-whitef0x0 "Examples") [🎨](#design-whitef0x0 "Design") [πŸ”](#fundingFinding-whitef0x0 "Funding Finding") [πŸ‘€](#review-whitef0x0 "Reviewed Pull Requests") [⚠️](https://github.com/tellform/tellform/commits?author=whitef0x0 "Tests") | [
Samuel Laulhau](https://samuellaulhau.fr)
[πŸ’»](https://github.com/tellform/tellform/commits?author=lalop "Code") [🌍](#translation-lalop "Translation") | [
Arun Pattnaik](http://arun.co)
[🎨](#design-arunpattnaik "Design") | [
ThiΓͺn ToΓ‘n](https://toanalien.com)
[πŸ›](https://github.com/tellform/tellform/issues?q=author%3Atoanalien "Bug reports") [πŸ’»](https://github.com/tellform/tellform/commits?author=toanalien "Code") [πŸ“–](https://github.com/tellform/tellform/commits?author=toanalien "Documentation") | [
Adrian Portabales](https://github.com/AdrianP-)
[πŸ›](https://github.com/tellform/tellform/issues?q=author%3AAdrianP- "Bug reports") [πŸ’»](https://github.com/tellform/tellform/commits?author=AdrianP- "Code") | [
Peter Thaleikis](https://github.com/spekulatius)
[πŸ“–](https://github.com/tellform/tellform/commits?author=spekulatius "Documentation") | [
MickaΓ«l Andrieu](http://www.mickael-andrieu.com)
[πŸ“–](https://github.com/tellform/tellform/commits?author=mickaelandrieu "Documentation") | | :---: | :---: | :---: | :---: | :---: | :---: | :---: | | [
Ahmad Luqman](https://github.com/ahmad-luqman)
[πŸ“–](https://github.com/tellform/tellform/commits?author=ahmad-luqman "Documentation") | [
Peter Dave Hello](https://www.peterdavehello.org/)
[πŸ“–](https://github.com/tellform/tellform/commits?author=PeterDaveHello "Documentation") | -## Mentions on the Web +##Mentions on the Web [t3n.de](http://t3n.de/news/open-source-alternative-typeform-tellform-707295/)