diff --git a/apps/docs/images/screens/analytics.png b/apps/docs/images/screens/analytics.png new file mode 100644 index 00000000..dbd67e75 Binary files /dev/null and b/apps/docs/images/screens/analytics.png differ diff --git a/apps/docs/images/screens/billing.png b/apps/docs/images/screens/billing.png new file mode 100644 index 00000000..6df00c53 Binary files /dev/null and b/apps/docs/images/screens/billing.png differ diff --git a/apps/docs/images/screens/settings.png b/apps/docs/images/screens/settings.png new file mode 100644 index 00000000..6d256c83 Binary files /dev/null and b/apps/docs/images/screens/settings.png differ diff --git a/apps/docs/mint.json b/apps/docs/mint.json index c66ad9d0..676c8f1b 100644 --- a/apps/docs/mint.json +++ b/apps/docs/mint.json @@ -69,7 +69,6 @@ "howitworks", "emails", "github", - "providers/how-to-add-provider", { "group": "Providers", "pages": [ @@ -78,7 +77,8 @@ "providers/reddit/reddit", "providers/articles" ] - } + }, + "providers/how-to-add-provider" ] } ], diff --git a/apps/docs/providers/how-to-add-provider.mdx b/apps/docs/providers/how-to-add-provider.mdx index 912286d4..87ba7fde 100644 --- a/apps/docs/providers/how-to-add-provider.mdx +++ b/apps/docs/providers/how-to-add-provider.mdx @@ -42,7 +42,7 @@ And add the new DTO.

Head to `libraries/nestjs-libraries/src/dtos/posts/create.post.dto.ts`
look for the discriminator and add another line in the format of
-```typescript +```typescript create.post.dto.ts { value: DTOClassName, name: 'providerName' }, ``` @@ -50,9 +50,8 @@ look for the discriminator and add another line in the format of
And create a new provider file `providerName.provider.ts`
The content of the file should look like this: -### For oAuth2 providers - -```typescript + +```typescript For oAuth2 providers import { AuthTokenDetails, PostDetails, @@ -84,11 +83,8 @@ export class XProvider implements SocialProvider { } } ``` -Take a look at the exising providers to see how to implement the methods. -### For Token providers - -```typescript +```typescript For Token providers import { ArticleProvider } from '@gitroom/nestjs-libraries/integrations/article/article.integrations.interface'; export class DevToProvider implements ArticleProvider { @@ -103,6 +99,9 @@ export class DevToProvider implements ArticleProvider { } } ``` + + +Take a look at the exising providers to see how to implement the methods. ### Custom functions You might want to create custom functions for the providers for example: get available orgs, get available pages, etc.
@@ -121,7 +120,7 @@ Create a new folder with the providerName
Add a new file `providerName.provider.tsx`
The content of the file should look like this: -```typescript +```typescript providerName.provider.tsx import { FC } from 'react'; import { withProvider } from '@gitroom/frontend/components/launches/providers/high.order.provider'; import { useSettings } from '@gitroom/frontend/components/launches/helpers/use.values'; @@ -168,6 +167,6 @@ You can look at the other integration to understand what data to put inside. 2. Open `apps/frontend/src/components/launches/providers/show.all.providers.tsx` And add the new provider to the list. -```typescript +```typescript show.all.providers.tsx {identifier: 'providerName', component: DefaultImportFromHighOrderProvider}, ``` \ No newline at end of file diff --git a/apps/docs/quickstart.mdx b/apps/docs/quickstart.mdx index 3770b8fb..a27c64ef 100644 --- a/apps/docs/quickstart.mdx +++ b/apps/docs/quickstart.mdx @@ -37,17 +37,17 @@ docker run --name redis -p 6379:6379 -d redis ## Installation -### Clone the repository - -```bash + + +```bash Terminal git clone https://github.com/gitroomhq/gitroom ``` + -### Copy environment variables - + Copy the `.env.example` file to `.env` and fill in the values -```bash +```bash .env DATABASE_URL="postgres database URL" REDIS_URL="redis database URL" JWT_SECRET="random string for your JWT secret, make it long" @@ -72,25 +72,27 @@ CLOUDFLARE_BUCKETNAME="Cloudflare R2 Bucket Name" CLOUDFLARE_BUCKET_URL="Cloudflare R2 Backet URL" NX_ADD_PLUGINS=false ``` + -### Install the dependencies + -```bash +```bash Terminal npm install ``` + -### Generate the prisma client and run the migrations - -```bash + +```bash Terminal npm run prisma-db-push ``` + -### Run the project - -```bash + +```bash Terminal npm run dev ``` - + + You have to follow all the tabs in the "Developers" menu to install Gitroom diff --git a/apps/docs/use/analytics.mdx b/apps/docs/use/analytics.mdx index 1c15b56b..af6cbcaa 100644 --- a/apps/docs/use/analytics.mdx +++ b/apps/docs/use/analytics.mdx @@ -2,4 +2,9 @@ title: Analytics --- +![Analytics](/images/screens/analytics.png) +**The analytics page allows you to:** +- Monitor the amount of stars you get every day +- Let you know when was the last GitHub trending feed refresh and when the next one will be +- Cross-reference between the number of stars you got and the launch that caused it \ No newline at end of file diff --git a/apps/docs/use/billing.mdx b/apps/docs/use/billing.mdx index 1a206e24..922db841 100644 --- a/apps/docs/use/billing.mdx +++ b/apps/docs/use/billing.mdx @@ -2,4 +2,8 @@ title: Billing --- +![Billing](/images/screens/billing.png) +**The settings page allows you to:** +- Add GitHub repositories you would like to track in the analytics page +- [PRO Tier / Self-hosted] Invite team members to your organization to collaborate with you \ No newline at end of file diff --git a/apps/docs/use/settings.mdx b/apps/docs/use/settings.mdx index 2372f49e..ca6b74a0 100644 --- a/apps/docs/use/settings.mdx +++ b/apps/docs/use/settings.mdx @@ -2,3 +2,8 @@ title: Settings --- +![Settings](/images/screens/settings.png) + +**The settings page allows you to:** +- Add GitHub repositories you would like to track in the analytics page +- [PRO Tier / Self-hosted] Invite team members to your organization to collaborate with you \ No newline at end of file diff --git a/libraries/nestjs-libraries/src/services/email.service.ts b/libraries/nestjs-libraries/src/services/email.service.ts index 3904a917..be586c7c 100644 --- a/libraries/nestjs-libraries/src/services/email.service.ts +++ b/libraries/nestjs-libraries/src/services/email.service.ts @@ -1,11 +1,15 @@ import { Injectable } from '@nestjs/common'; import { Resend } from 'resend'; -const resend = new Resend(process.env.RESEND_API_KEY); +const resend = new Resend(process.env.RESEND_API_KEY || 're_132'); @Injectable() export class EmailService { async sendEmail(to: string, subject: string, html: string) { + if (!process.env.RESEND_API_KEY) { + console.log('No Resend API Key found, skipping email sending'); + return; + } await resend.emails.send({ from: 'Gitroom ', to, diff --git a/libraries/react-shared-libraries/tsconfig.json b/libraries/react-shared-libraries/tsconfig.json index 8b20abce..ef0c1df9 100644 --- a/libraries/react-shared-libraries/tsconfig.json +++ b/libraries/react-shared-libraries/tsconfig.json @@ -1,7 +1,6 @@ { "extends": "../../tsconfig.base.json", "compilerOptions": { - "module": "commonjs", "forceConsistentCasingInFileNames": true, "esModuleInterop": true, "allowSyntheticDefaultImports": true, diff --git a/libraries/react-shared-libraries/tsconfig.lib.json b/libraries/react-shared-libraries/tsconfig.lib.json index faa09cc1..6e7f31d7 100644 --- a/libraries/react-shared-libraries/tsconfig.lib.json +++ b/libraries/react-shared-libraries/tsconfig.lib.json @@ -3,6 +3,7 @@ "compilerOptions": { "outDir": "../../dist/out-tsc", "declaration": true, + "esModuleInterop": true, "types": ["node"] }, "include": ["src/**/*.ts"],