Fix readme image

This commit is contained in:
Julien Nahum 2024-08-11 12:29:15 +02:00
parent 7888990e84
commit 0040f785da
1 changed files with 85 additions and 65 deletions

144
README.md
View File

@ -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.
@ -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).