Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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.
- Host: GitHub
- URL: https://github.com/formbee/formbee
- Owner: FormBee
- License: mit
- Created: 2024-07-16T00:18:34.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2024-12-11T18:23:22.000Z (12 days ago)
- Last Synced: 2024-12-17T13:06:27.346Z (6 days ago)
- Topics: angularjs, docker, express, form, forms, formsubmission, nodejs, oauth2, open-source, railway
- Language: TypeScript
- Homepage: https://formbee.dev
- Size: 12.7 MB
- Stars: 95
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
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.
- đ§ Email Only Template: Host just a backend for recieving form data to your email.
---
đ§ 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.
---
Give it a go and recieve your form submissions easier than you ever have before.