Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/formbee/formbee

The open-source form backend for data privacy conscious developers.
https://github.com/formbee/formbee

angularjs docker express form forms formsubmission nodejs oauth2 open-source railway

Last synced: 6 days ago
JSON representation

The open-source form backend for data privacy conscious developers.

Awesome Lists containing this project

README

        


FormBee

Form Data Handling Made Easy.


The open-source form backend for data privacy conscious developers.


---

🐝 Overview

FormBee is an easy way to send form data that is submitted on your website to your email, Telegram, Webhooks, Etc. It is a "Form Backend" which means it allows you to have functional forms that send places without having to write any server side code yourself! We have a hosted option available here: FormBee Website or you can self-host it!

---

## Table of Contents
- ✨ [Features](#-features)
- 🏠 [Self Hosting](#-self-hosting)
- 🔧 [Installation/Run Locally](#-installationrun-locally)
- 👨‍đŸ’ģ [Client Side](#-client-side)
- đŸ–Ĩ [Server Side](#-server-side)
- 🌱 [Contributing](#-contributing)
- 🛠 [Tech Stack](#-tech-stack)
- 🏆 [Credits](#-credits)
- 📜 [License](#-license)

---

✨ Features


  • 🌍 Open Source: Free to use, modify, and contribute.

  • 🔌 Plugins: Easily send your form data to email, Make.com, Telegram, n8n, Discord, or Webhooks

  • 🔒 Captcha: Protect your forms from spam with our (PoW) Proof Of Work captchas.

  • 🔑 White List Domains: Prevent others from using your form backend by whitelisting domains.

  • ↩ī¸ Automatic return emails : Automatically send return emails to people who submit your forms.

  • ➕ More Features : FormBee has more to offer than we can fit in here! This is a work in progress passion project!

---

🏠 Self Hosting


We want to make it as easy as possible to self host! In the docker-images folder of the project you will find many variations of the backend you can host, so you can host just what you want, without the bloat of the things you don't want. This is a work in progress, and we're constantly working on adding more. You can read more about self hosting in the Official Formbee self-hosting docs. The docs will walk you through pulling the docker images, and running them with the correct environmental variables, then you can host them wherever you like to host your containers!

🚆 Railway


Formbee has official templates on Railway to make self hosting different Formbee backends as simple as clicking deploy and typing in a few environmental variables.


---

🔧 Installation/Run Locally

Clone the repo:
```bash
git clone https://github.com/FormBee/FormBee.git
```

FormBee is a monorepo, here are instructions for both the frontend and the backend.

## 👨‍đŸ’ģ Client Side

Enter client directory:
```bash
cd FormBee\client\FormBee
```

Install dependencies:
```bash
npm install
```

Make your way to ```src/app/global-vars.ts``` and change fetchUrl to ```http://localhost:3000```

Run client side:
``` bash
ng serve
```

**With that, the client side should be running, go to [localhost:4200](http://localhost:4200).**
## đŸ–Ĩ Server Side

Enter server directory:
```bash
cd FormBee/server/MyProject
```

Install Dependencies:
```bash
npm install
```

Copy .env.example:
```bash
cp .env.example .env
```

Configure your .env with your test database credentials (modify the ```DEV_DB``` env variables.)
The EMAIL env variables you see are for configuring the email which sends submission emails.

Make your way to ```src/data-source.ts``` and comment out the second AppDataSource (Prod env vars), and uncomment the first AppDataSource (Dev env vars).
Lastly, make your way to ```src/index.ts``` and change the redirectUrl variable to ```http://localhost:4200```, this is for CORS.

Finally
```bash
npm run dev
```

**With that the server should be running.**

---

🌱 Contributing

We welcome contributions! Feel free to open an issue or submit a pull request if you'd like to help improve FormBee.

  • Fork the repository
  • Create a new branch (git checkout -b feature-branch)
  • Make your changes
  • Commit your changes (git commit -m 'Add some feature')
  • Push to the branch (git push origin feature-branch)
  • Open a pull request

---

🛠 Tech Stack





Frontend

Angular
Backend
Node.js/Express
Database
Postgres/TypeORM
Styling
SCSS/CSS

---

🏆 Credits


(When you contribute feel free to sign and plug yourself here in your PR)

-

Built and maintained by Jacob Dement.

---

📜 License

This project is licensed under the MIT License.

---

Issues GitHub Repo stars

Give it a go and recieve your form submissions easier than you ever have before.