add contributing guide to docs, update readme with simple roadmap

This commit is contained in:
Matthias Nannt
2023-04-17 10:35:42 +02:00
parent d6868c3d40
commit c118fbb0bd
11 changed files with 432 additions and 167 deletions

View File

@@ -47,5 +47,5 @@ If applicable, add screenshots to help explain your problem.
#### Anything else?
- Screen recording, console logs, network requests: You can make a recording with [Bird Eats Bug](https://birdeatsbug.com/).
- Screen recording, console logs, network requests: You can make a recording with [Loom](https://www.loom.com).
- Anything else that you think could be an issue?

2
.gitignore vendored
View File

@@ -39,3 +39,5 @@ yarn-error.log*
# nixos stuff
.direnv
Zone.Identifier

View File

@@ -39,6 +39,18 @@ Formbricks helps you apply best practices from data-driven work and experience m
- [TailwindCSS](https://tailwindcss.com/)
- [Prisma](https://prisma.io/)
### Upcoming Features
| | Feature |
| --- | --------------------------------------------- |
| 👷 | Multiple-Choice Multi-Select Question Type |
| 👷 | NPS Question Type |
| 🗒️ | Rating Scale (Numbers + Emojis) Question Type |
| 🗒️ | Filter Audience by Attributes |
| 🗒️ | Share Surveys via Link |
_👷 In Progress | 🗒️ Up Next_
## Cloud vs. self-hosted
Formbricks is available Open-Source under AGPLv3 license. You can host Formbricks on your own servers without a subscription. Check out our [docs](https://formbricks.com/docs/self-hosting/deployment) to see how to self-host Formbricks.
@@ -46,3 +58,9 @@ Formbricks is available Open-Source under AGPLv3 license. You can host Formbrick
We also have a hosted cloud offering with a generous free plan to get you up and running as quickly as possible. For more information, please visit [formbricks.com](https://formbricks.com)
(In the future we may develop additional features that aren't in the free Open-Source version)
## Contributing
We are very happy if you are interested in contributing to Formbricks 🤗
There are many ways to contribute to Formbricks with writing Issues, fixing bugs, building new features or updating the docs. Please check out [our contribution guide](https://formbricks.com/docs/contributing/introduction) for more information.

View File

@@ -1,3 +0,0 @@
[ZoneTransfer]
ZoneId=3
ReferrerUrl=C:\Users\johan\Desktop\github-mark.zip

View File

@@ -1,3 +0,0 @@
[ZoneTransfer]
ZoneId=3
ReferrerUrl=C:\Users\johan\Desktop\github-mark.zip

View File

@@ -49,6 +49,13 @@ const navigation = [
title: "Self-hosting",
links: [{ title: "Deployment", href: "/docs/self-hosting/deployment" }],
},
{
title: "Contributing",
links: [
{ title: "Introduction", href: "/docs/contributing/introduction" },
{ title: "Setup Dev Environment", href: "/docs/contributing/setup" },
],
},
];
export default navigation;

View File

@@ -43,7 +43,7 @@
"@types/react-dom": "^18.0.11",
"autoprefixer": "^10.4.14",
"eslint-config-formbricks": "workspace:*",
"postcss": "^8.4.21",
"postcss": "^8.4.22",
"tailwindcss": "^3.3.1",
"typescript": "^5.0.4"
}

View File

@@ -0,0 +1,40 @@
import { Layout } from "@/components/docs/Layout";
import { Fence } from "@/components/shared/Fence";
import { Callout } from "@/components/shared/Callout";
export const meta = {
title: "Contribution Guide",
description: "How to contribute to Formbricks",
};
We are so happy that you are interested in contributing to Formbricks 🤗
There are many ways to contribute to Formbricks with writing Issues, fixing bugs, building new features or updating the docs.
## Issues
Spotted a bug? Has deployment gone wrong? Do you have user feedback? [Raise an issue](https://github.com/formbricks/formbricks/issues/new/choose) for the fastest response.
... or pick up and fix an issue if you want to do a Pull Request.
## Feature requests
Raise an issue for these and tag it as an Enhancement. We love every idea. Please give us as much context on the why as possible.
## Creating a PR
Please fork the repository, make your changes and create a new pull request if you want to make an update.
If you want to speak to us before doing lots of work, please join our [Discord server](https://formbricks.com/discord) and tell us what you would like to work on - we're very responsive and friendly!
For QA of your Pull-Request, you can also get in touch with Matti on Discord. But we will also get to your PR without you taking additional action ;-)
## Features
We are currently working on having a clear [Roadmap](https://github.com/formbricks/formbricks) for the next steps ahead.
But you can also pick a feature that is not already on the roadmap if you think it creates a positive impact for Formbricks.
If you are at all unsure, just raise it as an enhancement issue first and tell us that you like to work on it, and we'll very quickly respond.
export default ({ children }) => <Layout meta={meta}>{children}</Layout>;

View File

@@ -0,0 +1,81 @@
import { Layout } from "@/components/docs/Layout";
import { Fence } from "@/components/shared/Fence";
import { Callout } from "@/components/shared/Callout";
export const meta = {
title: "Setup Dev Environment",
description: "Setup a development environment for Formbricks.",
};
To get the project running locally on your machine you need to have the following development tools installed:
- Node.JS (we recommend v18)
- [pnpm](https://pnpm.io/)
- [Docker](https://www.docker.com/) (to run PostgreSQL / MailHog)
1. Clone the project:
```bash
git clone https://github.com/formbricks/formbricks
```
and move into the directory
```bash
cd formbricks
```
1. Install Node.JS packages via pnpm. Don't have pnpm? Get it [here](https://pnpm.io/installation)
```bash
pnpm install
```
1. To make the process of installing a dev dependencies easier, we offer a [`docker-compose.yml`](https://docs.docker.com/compose/) with the following servers:
- a `postgres` container and environment variables preset to reach it,
- a `mailhog` container that acts as a mock SMTP server and shows received mails in a web UI (forwarded to your host's `localhost:8025`)
```bash
docker-compose -f docker-compose.dev.yml up -d
```
1. Create a `.env` file based on `.env.example` and change it according to your setup. If you are using a cloud based database or another mail server, you will need to update the `DATABASE_URL` and SMTP settings in your `.env` accordingly.
```bash
cp .env.example .env
```
1. Make sure your PostgreSQL Database Server is running. Then let prisma set up the database for you:
```bash
pnpm dlx prisma migrate dev
```
1. Start the development server of the app:
```bash
pnpm dev --filter=web...
```
**You can now access the app on [https://localhost:3000](https://localhost:3000)**. You will be automatically redirected to the login. To use your local installation of formbricks, create a new account.
For viewing the confirmation email and other emails the system sends you, you can access mailhog at [https://localhost:8025](https://localhost:8025)
### Build
To build all apps and packages, run the following command:
```bash
pnpm build
```
### Develop
To develop all apps and packages, run the following command:
```bash
pnpm dev
```
export default ({ children }) => <Layout meta={meta}>{children}</Layout>;

View File

@@ -26,12 +26,12 @@
"eslint": "8.38.0",
"eslint-config-next": "^13.3.0",
"jsonwebtoken": "^9.0.0",
"lucide-react": "^0.144.0",
"lucide-react": "^0.161.0",
"next": "13.3.0",
"next-auth": "^4.22.0",
"nodemailer": "^6.9.1",
"platform": "^1.3.6",
"posthog-js": "^1.53.1",
"posthog-js": "^1.53.2",
"posthog-node": "^2.6.0",
"preact": "10.13.2",
"prismjs": "^1.29.0",
@@ -55,7 +55,7 @@
"@types/bcryptjs": "^2.4.2",
"autoprefixer": "^10.4.14",
"eslint-config-formbricks": "workspace:*",
"postcss": "^8.4.21",
"postcss": "^8.4.22",
"tailwind-merge": "^1.12.0",
"tailwindcss": "^3.3.1",
"tailwindcss-animate": "^1.0.5"

435
pnpm-lock.yaml generated

File diff suppressed because it is too large Load Diff