Fix readme image
This commit is contained in:
parent
7888990e84
commit
0040f785da
150
README.md
150
README.md
|
|
@ -1,10 +1,9 @@
|
||||||
# OpnForm
|
# OpnForm
|
||||||
|
|
||||||
<p align="center">
|
<p align="center">
|
||||||
<img src="https://github.com/JhumanJ/OpnForm/blob/main/public/img/social-preview.jpg?raw=true">
|
<img src="https://github.com/JhumanJ/OpnForm/blob/main/client/public/img/social-preview.jpg?raw=true">
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
|
|
||||||
<p align="center">
|
<p align="center">
|
||||||
<a href="https://github.com/JhumanJ/OpnForm/stargazers"><img src="https://img.shields.io/github/stars/JhumanJ/OpnForm" alt="Github Stars"></a>
|
<a href="https://github.com/JhumanJ/OpnForm/stargazers"><img src="https://img.shields.io/github/stars/JhumanJ/OpnForm" alt="Github Stars"></a>
|
||||||
</a>
|
</a>
|
||||||
|
|
@ -25,24 +24,25 @@
|
||||||
|
|
||||||
## Features
|
## Features
|
||||||
|
|
||||||
- No-code form builder, with infinite number of fields & submissions
|
- No-code form builder, with infinite number of fields & submissions
|
||||||
- Text inputs, Date inputs, URL inputs, Phone inputs, Email inputs, Checkboxes, Select and Multi-Select inputs, Number Inputs, Star-ratings, File uploads & more
|
- Text inputs, Date inputs, URL inputs, Phone inputs, Email inputs, Checkboxes, Select and Multi-Select inputs, Number Inputs, Star-ratings, File uploads & more
|
||||||
- Embed anywhere (on your website, in your Notion page, etc)
|
- Embed anywhere (on your website, in your Notion page, etc)
|
||||||
- Email notifications (for both form owner & form respondents)
|
- Email notifications (for both form owner & form respondents)
|
||||||
- Hidden fields
|
- Hidden fields
|
||||||
- Form passwords
|
- Form passwords
|
||||||
- URL form pre-fill
|
- URL form pre-fill
|
||||||
- Slack integration
|
- Slack integration
|
||||||
- Webhooks
|
- Webhooks
|
||||||
- Form logic
|
- Form logic
|
||||||
- Customize colors, add images or even some custom code
|
- Customize colors, add images or even some custom code
|
||||||
- Captcha form protection
|
- Captcha form protection
|
||||||
- Form closing date
|
- Form closing date
|
||||||
- Limit the number of submissions allowed
|
- Limit the number of submissions allowed
|
||||||
|
|
||||||
And much more!
|
And much more!
|
||||||
|
|
||||||
## Bounties
|
## Bounties
|
||||||
|
|
||||||
Get paid for contributing to OpnForm! Here are our open bounties:
|
Get paid for contributing to OpnForm! Here are our open bounties:
|
||||||
|
|
||||||
<a href="https://console.algora.io/org/OpnForm/bounties?status=open">
|
<a href="https://console.algora.io/org/OpnForm/bounties?status=open">
|
||||||
|
|
@ -60,9 +60,9 @@ It takes 1 minute to try out the builder for free. You'll have high availability
|
||||||
|
|
||||||
### Requirements
|
### Requirements
|
||||||
|
|
||||||
- PHP >= 8.0
|
- PHP >= 8.0
|
||||||
- MySQL/MariaDB or PostgreSQL
|
- MySQL/MariaDB or PostgreSQL
|
||||||
- Node.js and NPM/Yarn/... to compile assets
|
- Node.js and NPM/Yarn/... to compile assets
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
|
|
@ -71,27 +71,31 @@ It takes 1 minute to try out the builder for free. You'll have high availability
|
||||||
OpnForm can be easily set up using Docker. Pre-built images are available on Docker Hub, which is the recommended method for most users.
|
OpnForm can be easily set up using Docker. Pre-built images are available on Docker Hub, which is the recommended method for most users.
|
||||||
|
|
||||||
#### Prerequisites
|
#### Prerequisites
|
||||||
- Docker
|
|
||||||
- Docker Compose
|
- Docker
|
||||||
|
- Docker Compose
|
||||||
|
|
||||||
#### Quick Start
|
#### Quick Start
|
||||||
|
|
||||||
1. Clone the repository:
|
1. Clone the repository:
|
||||||
```
|
|
||||||
git clone https://github.com/JhumanJ/OpnForm.git
|
```
|
||||||
cd OpnForm
|
git clone https://github.com/JhumanJ/OpnForm.git
|
||||||
```
|
cd OpnForm
|
||||||
|
```
|
||||||
|
|
||||||
2. Set up environment files:
|
2. Set up environment files:
|
||||||
```
|
|
||||||
cp .env.docker .env
|
```
|
||||||
cp client/.env.docker client/.env
|
cp .env.docker .env
|
||||||
```
|
cp client/.env.docker client/.env
|
||||||
|
```
|
||||||
|
|
||||||
3. Start the application:
|
3. Start the application:
|
||||||
```
|
|
||||||
docker-compose up -d
|
```
|
||||||
```
|
docker-compose up -d
|
||||||
|
```
|
||||||
|
|
||||||
4. Access OpnForm at http://localhost
|
4. Access OpnForm at http://localhost
|
||||||
|
|
||||||
|
|
@ -99,22 +103,23 @@ OpnForm can be easily set up using Docker. Pre-built images are available on Doc
|
||||||
|
|
||||||
#### Customization
|
#### Customization
|
||||||
|
|
||||||
- **Environment Variables**: Modify `.env` and `client/.env` files to customize your setup. For example, to enable email features, configure a [supported mail driver](https://laravel.com/docs/11.x/mail) in the `.env` file.
|
- **Environment Variables**: Modify `.env` and `client/.env` files to customize your setup. For example, to enable email features, configure a [supported mail driver](https://laravel.com/docs/11.x/mail) in the `.env` file.
|
||||||
|
|
||||||
#### Upgrading
|
#### Upgrading
|
||||||
|
|
||||||
1. Check the upgrade instructions for your target version in the documentation.
|
1. Check the upgrade instructions for your target version in the documentation.
|
||||||
2. Update your `docker-compose.yml` file if necessary.
|
2. Update your `docker-compose.yml` file if necessary.
|
||||||
3. Apply changes:
|
3. Apply changes:
|
||||||
```
|
```
|
||||||
docker-compose up -d
|
docker-compose up -d
|
||||||
```
|
```
|
||||||
|
|
||||||
### Initial Login
|
### Initial Login
|
||||||
|
|
||||||
After installation, use these credentials to access the admin panel:
|
After installation, use these credentials to access the admin panel:
|
||||||
- Email: `admin@opnform.com`
|
|
||||||
- Password: `password`
|
- Email: `admin@opnform.com`
|
||||||
|
- Password: `password`
|
||||||
|
|
||||||
⚠️ Change these credentials immediately after your first login.
|
⚠️ Change these credentials immediately after your first login.
|
||||||
|
|
||||||
|
|
@ -125,33 +130,37 @@ Note: Public registration is disabled in the self-hosted version. Use the admin
|
||||||
For development or customization, you can build the Docker images locally:
|
For development or customization, you can build the Docker images locally:
|
||||||
|
|
||||||
1. Build the images:
|
1. Build the images:
|
||||||
```
|
|
||||||
docker build -t opnform-ui:local -f docker/Dockerfile.client .
|
```
|
||||||
docker build -t opnform-api:local -f docker/Dockerfile.api .
|
docker build -t opnform-ui:local -f docker/Dockerfile.client .
|
||||||
```
|
docker build -t opnform-api:local -f docker/Dockerfile.api .
|
||||||
|
```
|
||||||
|
|
||||||
2. Create a docker-compose override file:
|
2. Create a docker-compose override file:
|
||||||
```
|
|
||||||
cp docker-compose.override.yml.example docker-compose.override.yml
|
|
||||||
```
|
|
||||||
|
|
||||||
Edit the `docker-compose.override.yml` file to use your locally built images:
|
```
|
||||||
```yaml
|
cp docker-compose.override.yml.example docker-compose.override.yml
|
||||||
services:
|
```
|
||||||
api:
|
|
||||||
image: opnform-api:local
|
Edit the `docker-compose.override.yml` file to use your locally built images:
|
||||||
ui:
|
|
||||||
image: opnform-ui:local
|
```yaml
|
||||||
```
|
services:
|
||||||
|
api:
|
||||||
|
image: opnform-api:local
|
||||||
|
ui:
|
||||||
|
image: opnform-ui:local
|
||||||
|
```
|
||||||
|
|
||||||
3. Start the application:
|
3. Start the application:
|
||||||
```
|
```
|
||||||
docker-compose up -d
|
docker-compose up -d
|
||||||
```
|
```
|
||||||
|
|
||||||
This method allows you to make changes to the source code and rebuild the images as needed.
|
This method allows you to make changes to the source code and rebuild the images as needed.
|
||||||
|
|
||||||
### Using Laravel Valet
|
### Using Laravel Valet
|
||||||
|
|
||||||
This section explains how to get started locally with the project. It's most likely relevant if you're trying to work on the project.
|
This section explains how to get started locally with the project. It's most likely relevant if you're trying to work on the project.
|
||||||
First, let's work with the codebase and its dependencies.
|
First, let's work with the codebase and its dependencies.
|
||||||
|
|
||||||
|
|
@ -160,8 +169,8 @@ First, let's work with the codebase and its dependencies.
|
||||||
git clone git@github.com:JhumanJ/OpnForm.git && cd OpnForm
|
git clone git@github.com:JhumanJ/OpnForm.git && cd OpnForm
|
||||||
|
|
||||||
# Install PHP dependencies
|
# Install PHP dependencies
|
||||||
composer install
|
composer install
|
||||||
|
|
||||||
# Install JS dependencies
|
# Install JS dependencies
|
||||||
cd client && npm install
|
cd client && npm install
|
||||||
|
|
||||||
|
|
@ -183,9 +192,18 @@ php artisan jwt:secret # and select yes!
|
||||||
# Creates DB schemas
|
# Creates DB schemas
|
||||||
php artisan migrate
|
php artisan migrate
|
||||||
```
|
```
|
||||||
Now, create an S3 bucket (or equivalent). Create an IAM user with access to this bucket, fill the environment variables: `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY`, `AWS_DEFAULT_REGION`, `AWS_BUCKET`. In your AWS bucket permissions, add the following under "Cross-origin resource sharing (CORS)":
|
|
||||||
|
Now, create an S3 bucket (or equivalent). Create an IAM user with access to this bucket, fill the environment variables: `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY`, `AWS_DEFAULT_REGION`, `AWS_BUCKET`. In your AWS bucket permissions, add the following under "Cross-origin resource sharing (CORS)":
|
||||||
|
|
||||||
```json
|
```json
|
||||||
[ { "AllowedHeaders": [ "*" ], "AllowedMethods": [ "PUT", "POST", "GET", "DELETE" ], "AllowedOrigins": [ "*" ], "ExposeHeaders": [] } ]
|
[
|
||||||
|
{
|
||||||
|
"AllowedHeaders": ["*"],
|
||||||
|
"AllowedMethods": ["PUT", "POST", "GET", "DELETE"],
|
||||||
|
"AllowedOrigins": ["*"],
|
||||||
|
"ExposeHeaders": []
|
||||||
|
}
|
||||||
|
]
|
||||||
```
|
```
|
||||||
|
|
||||||
🎉 Done! Enjoy your personal OpnForm instance at: [http://opnform.test](http://opnform.test).
|
🎉 Done! Enjoy your personal OpnForm instance at: [http://opnform.test](http://opnform.test).
|
||||||
|
|
@ -197,14 +215,16 @@ Now, create an S3 bucket (or equivalent). Create an IAM user with access to this
|
||||||
## Tech Stack
|
## Tech Stack
|
||||||
|
|
||||||
OpnForm is a standard web application built with:
|
OpnForm is a standard web application built with:
|
||||||
- [Laravel](https://laravel.com/) PHP framework
|
|
||||||
- [NuxtJs](https://nuxt.com/) Front-end SSR framework
|
- [Laravel](https://laravel.com/) PHP framework
|
||||||
- [Vue.js 3](https://vuejs.org/) Front-end framework
|
- [NuxtJs](https://nuxt.com/) Front-end SSR framework
|
||||||
- [TailwindCSS](https://tailwindcss.com/)
|
- [Vue.js 3](https://vuejs.org/) Front-end framework
|
||||||
|
- [TailwindCSS](https://tailwindcss.com/)
|
||||||
|
|
||||||
## Contribute
|
## Contribute
|
||||||
|
|
||||||
You're more than welcome to contribute to this project. We don't have guidelines on this yet, but we will soon. In the meantime, feel free to ask [any question here](https://github.com/JhumanJ/OpnForm/discussions).
|
You're more than welcome to contribute to this project. We don't have guidelines on this yet, but we will soon. In the meantime, feel free to ask [any question here](https://github.com/JhumanJ/OpnForm/discussions).
|
||||||
|
|
||||||
## License
|
## License
|
||||||
OpnForm is open-source under the GNU Affero General Public License Version 3 (AGPLv3) or any later version. You can find it [here](https://github.com/JhumanJ/OpnForm/blob/main/LICENSE).
|
|
||||||
|
|
||||||
|
OpnForm is open-source under the GNU Affero General Public License Version 3 (AGPLv3) or any later version. You can find it [here](https://github.com/JhumanJ/OpnForm/blob/main/LICENSE).
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue