# OhMyForm 0.2.1   > An *open source alternative to TypeForm* that can create [stunning mobile-ready forms](https://ohmyform.com/examples) , surveys and questionnaires. [](https://heroku.com/deploy?template=https://github.com/ohmyform/ohmyform/tree/production) ## Table of Contents - [OhMyForm 0.2.1](#ohmyform-021) - [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) ## Features ### 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 ## 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. ## 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`. | Property | Valid Values | Default Value | Description | Required? | |-------------------------|--------------------------------------------------------|----------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------|--------------------------------------------| | NODE_ENV | "development", "production", "test" or "secure" | development | Set which version of the app you want to run (either secure/SSL, dev, prod or test) | No | | SESSION_SECRET | Any string | CHANGE_ME_PLEASE | Value used to compute session hash | No | | BASE_URL | A valid URL | localhost:3000 | URL where the admin panel will live | Yes | | MONGODB_URI | A valid MongoDB URI | localhost/mean | URI of the MONGODB server/db that your server will use | Yes | | REDIS_URL | A valid Redis URI | redis://127.0.0.1:6379 | URI of the Redis instance that your server will use | Only if ENABLE_CLUSTER_MODE=TRUE | | SOCKET_PORT | A valid port number from 0 - 65535 | 20523 | Port that your SocketIO server will bind to | No | | SOCKET_URL | A valid URL | ws.tellform.com | Url that your SocketIO server will bind to | No | | SIGNUP_DISABLED | "TRUE" or "FALSE" | FALSE | Set this flag to disable signups. | No | | SUBDOMAINS_DISABLED | "TRUE" or "FALSE" | FALSE | Set this flag to disable subdomains. (Useful if hosting behind an uncontrolled domain or without a wildcard SSL cert) | No | | ENABLE_CLUSTER_MODE | "TRUE" or "FALSE" | FALSE | Disable support for running TellForm with pm2's cluster mode. Disabling this allows you to not run a Redis instance. | No | | 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/](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 | | CREATE_ADMIN | "TRUE" or "FALSE" | FALSE | Setting this variable will create a admin user on startup with credentials as specified below | No | | ADMIN_EMAIL | A valid email | admin@admin.com | Email of generated admin user | No | | ADMIN_USERNAME | A string | root | Username of generated admin user | No | | ADMIN_PASSWORD | A string | root | Password of generated admin user | No | | APP_NAME | A string | TellForm | Sets the `