An Open-Source alternative to Typeform and Microsoft Forms
Website | Join slack community
Are you looking for a modern open source survey & forms platform that keeps your participants' data private and secure? We are building a new & open user experience with a focus on privacy, usability and API-first integrability.
- Easy creation of surveys and forms
- Simple evaluation of the results and export of the answers as CSV
- Rest API for integration into existing systems and processes
- Form/Survey customization
To get the project running locally on your machine you need to have the following development tools installed:
- Node.JS
- Yarn
- PostgreSQL
- Clone the project:
git clone https://github.com/couchforms/couchforms.git && cd couchforms
- Install Node.JS packages:
yarn install
- Create a
.env
file based on.env.examples
and change it according to your setup. Make sure theDATABASE_URL
variable is set correctly according to your local database. You must also set the email variables to valid SMTP-credentials for the login to work.
cp .env.example .env && nano .env
- Let prisma set up the database for you:
npx prisma db push
- Start the development server:
yarn dev
You can now access the app on https://localhost:3000
The easiest way to deploy couchforms yourself on your own machine is using Docker. This requires Docker and docker-compose on your system to work.
Clone the repository:
git clone https://github.com/couchforms/couchforms.git && cd couchforms
Create a .env
file based on .env.examples
and change it according to your setup. You must set the email variables to valid SMTP-credentials for the login to work:
cp .env.example .env && nano .env
Start the docker-compose process to build and spin up the couchforms container as well as the postgres database.
docker-compose up -d
You can now access the app on https://localhost:3000
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the project
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Make your changes
- Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a pull request
Distributed under the MIT License. See LICENSE
for more information.