Git Product home page Git Product logo

snoopforms's Introduction

Logo

snoopForms

Finally, good open-source forms!
Website & Hosted version | Join Discord community

License Join snoopForms Discord Github Stars Hacker News


โš ๏ธ Note: This repository is still in an early stage of development. We love the open source community and want to show what we are working on early. We will update this readme with more information once it is safe to use. Until then, feel free to share your thoughts, contact us, and contribute if you'd like.


About snoopForms

snoopForms-architecture

Spin up forms in minutes. Pipe your data exactly where you need it. Maximize your results with juicy analytics.

What is snoopForms?

With snoopForms you can build complex multi-page forms in minutes using either our built-in No Code Builder or our React library. All form submissions are automatically sent to the snoopForms platform for processing and analysis. You can view the submission within the platform or you can easily configure pipelines to send your data to other systems, services or databases.

Features

  • React Lib & No Code Builder to build & integrate forms rapidly.
  • 100% compliant with all privacy regulations (self-hosted).
  • (next) Put your data to work with integrations.
  • (next) Juicy analytics out of the box.
  • (always) smooth Developer Experience comes first.

Built With

Getting started

To get the project running locally on your machine you need to have the following development tools installed:

  • Node.JS (we recommend v16)
  • Yarn
  • PostgreSQL
  1. Clone the project:
git clone https://github.com/snoopForms/snoopforms.git && cd snoopforms
  1. Install Node.JS packages via yarn. Don't have yarn? Use npm install --global yarn.
yarn install
  1. Make sure you have a running database instance, e.g. by using docker. A quick and dirty instance can be spun up via:
docker run --name snoopformsDB -p 5432:5432 -e POSTGRES_USER=snoopforms -e POSTGRES_PASSWORD=password -e POSTGRES_DB=snoopforms -d postgres
  1. Create a .env file based on .env.example and change it according to your setup. Make sure the DATABASE_URL variable is set correctly according to your local database.
cp .env.example .env

For the example above, use the following:

DATABASE_URL='postgresql://snoopforms:password@localhost:5432/snoopforms?schema=public'
  1. Use the code editor of your choice to edit the .env file. You need to change all fields according to your setup.

  2. Make sure your PostgreSQL Database Server is running. Then let prisma set up the database for you:

yarn prisma migrate dev
  1. Start the development server:
yarn dev

You can now access the app on https://localhost:3000. You will be automatically redirected to the login. To use your local installation of snoopForms, create a new account.

Deployment

The easiest way to deploy the snoopHub on your own machine is using Docker. This requires Docker and the docker compose plugin on your system to work.

Clone the repository:


git clone https://github.com/snoopForms/snoopforms.git && cd snoopforms

Create a .env file based on .env.example and change all fields according to your setup. The SMTP-credentials are essential for verification emails to work during user signup.


cp .env.example .env && nano .env

Start the docker compose process to build and spin up the snoopForms container as well as the postgres database.


docker compose up -d

You can now access the app on https://localhost:3000. You will be automatically redirected to the login. To use your local installation of snoopForms, create a new account.

Contributing

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.

  1. Fork the project
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Make your changes
  4. Commit your changes (git commit -m 'Add some AmazingFeature')
  5. Push to the branch (git push origin feature/AmazingFeature)
  6. Open a pull request

License

Distributed under the AGPLv3 License. See LICENSE for more information.

snoopforms's People

Contributors

mattinannt avatar jobenjada avatar timothyde avatar benjaminpaul avatar

Stargazers

Roman avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.