FormFarm is a lightweight, high-performance SaaS platform built with PHP (MVC), MySQL, and Bootstrap. It serves as a private alternative to platforms like Formspree, allowing developers to manage form submissions effortlessly without managing their own backend logic for every single form.
Simply point your HTML forms to your unique FormFarm endpoint, and we handle the rest!
- 👤 Full User Authentication – Secure Register, Login, and Logout functionality.
- 📊 Dynamic Dashboard – Manage all your forms and view submissions in one place.
- 🔑 Unique Endpoint Keys – Every form gets a secure, unique key for POST submissions.
- 📩 Public POST Endpoint – Seamlessly receive data from any frontend application.
- 👁️ Submission Viewer – Clean, responsive UI to browse and manage received data.
- ⚡ Lightweight MVC – Built on a custom core for maximum speed and extensibility.
- Backend: PHP 7.4+ (Custom MVC Framework)
- Database: MySQL
- Frontend: HTML5, CSS3, Bootstrap 5
- Routing: Custom Regex-based Router
- Server: Apache (with
mod_rewrite)
FormFarm/
├── app/ ← Core MVC Implementation
│ ├── controllers/ ← Request Handling Logic
│ │ ├── AuthController.php
│ │ ├── DashboardController.php
│ │ ├── FormController.php
│ │ ├── HomeController.php
│ │ └── PublicController.php
│ ├── helpers/ ← Utility Functions
│ │ ├── Functions.php
│ │ └── MailHelper.php
│ ├── middleware/ ← Security Guards
│ │ └── auth.php
│ ├── models/ ← Database Interaction
│ │ ├── Form.php
│ │ ├── Submission.php
│ │ └── User.php
│ └── views/ ← UI Templates
│ ├── endpoint_active.php
│ ├── help.php
│ ├── home.php
│ ├── thanks.php
│ ├── auth/
│ │ ├── login.php
│ │ └── register.php
│ ├── dashboard/
│ │ ├── create-form.php
│ │ ├── forms.php
│ │ ├── index.php
│ │ └── submissions.php
│ └── layouts/
│ ├── footer.php
│ └── header.php
├── config/
│ └── database.php
├── core/ ← Framework Engine
│ ├── Controller.php
│ ├── Model.php
│ └── Router.php
├── database/
│ ├── Database.php
│ └── migrations/
│ └── schema.sql
├── public/ ← Web Entry Point
│ ├── .htaccess
│ ├── index.php
│ └── assets/
│ ├── css/
│ ├── images/
│ │ └── FormFarm.png
│ └── js/
├── routes/
│ └── web.php
├── storage/ ← Logs & Cache
│ ├── cache/
│ └── logs/
├── .htaccess ← Root Redirection
├── README.md
├── XAMPP.md
├── idea.md
└── idea.txt
- PHP 7.4 or higher
- MySQL Server
- Apache Web Server with
mod_rewriteenabled
-
Clone the Repository:
git clone https://github.com/CodeWithTanim/FormFarm.git cd FormFarm -
Database Configuration:
- Create a database:
CREATE DATABASE formfarm; - Import the schema:
mysql -u your_user -p formfarm < database/migrations/schema.sql
- Create a database:
-
Configure Environment:
- Open
config/database.php - Update
dbname,user, andpasswith your credentials.
- Open
-
Web Server Setup:
- Point your Apache VHost to the
public/directory. - Or, ensure the root
.htaccessis working to redirect requests to/public.
- Point your Apache VHost to the
- Create an Account: Register and log in to your dashboard.
- Setup a Form: Click "Create New Form" to generate a unique Form Key.
- Integrate: Update your HTML form's
actionattribute:<form action="http://your-domain.com/f/YOUR_UNIQUE_KEY" method="POST"> <input type="email" name="email" required> <button type="submit">Submit</button> </form>
- View Results: Submissions will appear instantly in your FormFarm dashboard!
Contributions make the open-source community an amazing place to learn and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is 100% created by MD SAMIUR RAHMAN TANIM.
If anyone wants to use this project, they MUST contact MD SAMIUR RAHMAN TANIM to get explicit permission. Unauthorized use, distribution, or copying of this project will result in legal actions.
See the LICENSE file for more details.