Skip to content

Commit

Permalink
πŸŽ‰ feat(app): release relivator 1.0.0 version
Browse files Browse the repository at this point in the history
  • Loading branch information
blefnk committed Sep 27, 2023
1 parent 5fb132e commit 52dd520
Show file tree
Hide file tree
Showing 411 changed files with 20,251 additions and 8,051 deletions.
185 changes: 27 additions & 158 deletions .env.example
Original file line number Diff line number Diff line change
@@ -1,168 +1,37 @@
# ?========================================================
# !! NEVER COMMIT .env FILE !! ONLY COMMIT .env.example !!
# Improve Your VS Code Experience with the `aaron-bond.better-comments` Extension.
# Default Environment Variable Values. Define default values for environment variables required to run the app.
# Overriding Defaults. These defaults can be overridden by environment-specific .env files, such as .env.development,
# and local .env files like .env.local and .env.development.local.
# Important: No Secrets Here. Never store secrets in this file. Store sensitive information in a .env.local file
# or an environment-specific local .env file, like .env.development.local or .env.test.local.
# Do not commit these local env files to source control.
# Getting Started. If you're new or cloning the repo, use the ".env.example" file as a template to create your ".env" file.
# Keep this file current when adding new variables to `.env`.
# Use Caution When Committing. Remember that this file will be committed to version control. Ensure it does not contain secrets.
# When cloning this repo, create a copy named ".env" and add your secrets.
# Schema Updates. When adding new environment variables, update the schema in "/src/env.mjs" accordingly.
# ?========================================================
#? Please open the next link to learn where to find all the data:
#? --> https://github.com/blefnk/relivator#12-environment-variables

# !! DRIZZLE: PLANETSCALE (https://planetscale.com)
DATABASE_URL="postgresql://<...>"

# 1) Get the Database data from the "prisma" dropdown selector in PlanetScale.
# 2) Change the query params at the end of the URL to "?ssl={"rejectUnauthorized":true}"
GITHUB_CLIENT_ID="fake"
GITHUB_CLIENT_SECRET="fake"

# ?? [4] mysql://<...>?ssl={"rejectUnauthorized":true}
DATABASE_URL=""
DISCORD_CLIENT_ID="fake"
DISCORD_CLIENT_SECRET="fake"

# !! COMMON CREDENTIALS
GOOGLE_CLIENT_ID="fake"
GOOGLE_CLIENT_SECRET="fake"

# Default host for the app
# Use the production URL when deploying to production, e.g. https://example.com
NEXT_PUBLIC_APP_URL="http://localhost:3000"

# Google Analytics (for `nextjs-google-analytics`)
# e.g. G-UA-123456789-0
NEXT_PUBLIC_GA_MEASUREMENT_ID=""

# Authentication JWT Secret (`openssl rand -base64 32`)
NEXTAUTH_SECRET=""

# Temporary
NEXTAUTH_URL="http://localhost:3000"
VERCEL_URL=""
NEXT_PUBLIC_VERCEL_URL=""

# !! CLERK CREDENTIALS (https://clerk.com)

# pk_test, and sk_test are development keys
# These values should be replaced with production keys on the deployed site
# For production, use pk_live, and sk_live keys (a domain is required)

# ?? [6] pk_test_****
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=""

# ?? [7] sk_test_****
CLERK_SECRET_KEY=""

# !! FILE UPLOADING (https://uploadthing.com)

# ?? [10] sk_live_****
UPLOADTHING_SECRET=""

# ?? [11] ****
UPLOADTHING_APP_ID=""

# !! STRIPE CREDENTIALS (https://stripe.com)

# These values should be replaced with production keys on the deployed site to accept real payments

# ?? [12] pk_test_****
# Stripe Publishable Key and Secret Key found at https://dashboard.stripe.com/test/apikeys
NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=""

# ?? [13] sk_test_****
STRIPE_API_KEY=""

# ?? [14] whsec_****
# Stripe Webhook Secret found at https://dashboard.stripe.com/test/webhooks/create?endpoint_location=local
# Create a webhook inside the stripe dashboard. Make sure to listen to the `payment_intent.succeeded` event.
# The webhook URL should be: https://<INSERT_YOUR_DOMAIN_HERE>/api/stripe/webhook
STRIPE_WEBHOOK_SECRET=""

# ?? [15] Store Item | price_****
# Stripe Product and Price IDs for your created products
# found at https://dashboard.stripe.com/test/products
STRIPE_STD_MONTHLY_PRICE_ID=""

# ?? [16] Subscription | price_****
# Stripe Product and Price IDs for your created products
# found at https://dashboard.stripe.com/test/products
STRIPE_PRO_MONTHLY_PRICE_ID=""
SMTP_FROM="fake"
POSTMARK_API_TOKEN="fake"
POSTMARK_SIGN_IN_TEMPLATE="fake"
POSTMARK_ACTIVATION_TEMPLATE="fake"

# !! RESEND (https://resend.com) (REACT EMAIL BUILDER)

# Resend API Key found at https://resend.com/api-keys

# ?? [18] re_****
RESEND_API_KEY=""
# We need to register a domain with Resend to send emails from
# Register a domain at https://resend.com/domains
# Or we can use this email provided by resend for only testing: "onboarding@resend.dev"
# It is not recommended tho

# ?? [19] e.g. "Relivator <hello@example.dev>"
EMAIL_FROM=""

# !! LOGLIB (https://loglib.io)
# ?? ***_***
LOGLIB_SITE_ID=""
# ?? site_***
LOGLIB_API_KEY=""

# !! UNSORTED ENV VARS

# ?? [20]
POSTMARK_SIGN_IN_TEMPLATE=""

# ?? [21]
POSTMARK_API_TOKEN=""

# ?? [22]
CLOUDFLARE_API=""

# ?? [23]
CLOUDFLARE_USER=""

# ?? [24]
SMTP_FROM=""

# ?? [26]
DISCORD_CLIENT_ID=""

# ?? [27]
DISCORD_CLIENT_SECRET=""

# ?? [28]
GITHUB_ID=""

# ?? [29]
GITHUB_SECRET=""

# ?? [30]
GITHUB_CLIENT_ID=""

# ?? [31]
GITHUB_CLIENT_SECRET=""

# ?? [32]
GITHUB_ACCESS_TOKEN=""
NEXTAUTH_SECRET="ChangeMeToSomethingRandom"
NEXT_PUBLIC_APP_URL="http://localhost:3000"

# ?? [33]
GOOGLE_CLIENT_ID=""
EMAIL_FROM="Resend <onboarding@resend.dev>"
RESEND_API_KEY="re_"

# ?? [34]
GOOGLE_CLIENT_SECRET=""
STRIPE_API_KEY="sk_test_"
STRIPE_WEBHOOK_SECRET="whsec_"
STRIPE_BASIC_MONTHLY_PRICE_ID="price_"
STRIPE_ADVANCED_MONTHLY_PRICE_ID="price_"
STRIPE_ENTERPRISE_MONTHLY_PRICE_ID="price_"
NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY="pk_test_"

# ============================================================================
# Default values for environment variables requried to run the app should be
# defined here.
UPLOADTHING_SECRET="sk_live_"
UPLOADTHING_APP_ID="fake"

# These variables will be overwritten by any environment-specific .env files,
# such as .env.development, and by and local .env files, such as .env.local and
# .env.development.local.
#
# This file should NOT contain any secrets. Secrets should be placed in a
# .env.local file, or in an environment-specific local .env file, such as
# .env.development.local or .env.test.local. Local env files should not be
# committed to source control.
#
# See https://nextjs.org/docs/basic-features/environment-variables
# ============================================================================
LOGLIB_API_KEY="site_"
LOGLIB_SITE_ID="_"
73 changes: 52 additions & 21 deletions .eslintrc.cjs
Original file line number Diff line number Diff line change
Expand Up @@ -11,24 +11,25 @@ const config = defineConfig({
env: {
es2023: true,
browser: true,
node: true
node: true,
},
settings: {
"import/resolver": {
typescript: {
project: ["./tsconfig.json"]
}
project: ["./tsconfig.json"],
},
},
tailwindcss: {
callees: ["classNames", "clsx", "cls", "cva", "cn"],
config: "./tailwind.config.ts"
}
config: "./tailwind.config.ts",
},
},
extends: [
"plugin:tailwindcss/recommended",
"plugin:i18n-json/recommended",
"next/core-web-vitals",
"eslint:recommended",
"prettier"
"prettier",
],

overrides: [
Expand All @@ -43,27 +44,48 @@ const config = defineConfig({
tsconfigRootDir: __dirname,
project: ["./tsconfig.json"],
ecmaVersion: "latest",
sourceType: "module"
sourceType: "module",
},
plugins: ["@tanstack/query"],
extends: [
"plugin:@tanstack/eslint-plugin-query/recommended",
"plugin:@typescript-eslint/stylistic-type-checked",
"plugin:@typescript-eslint/strict-type-checked"
"plugin:@typescript-eslint/strict-type-checked",
],
rules: {
// !! We are incrementally moving towards full and strict type safety.
// !! Accordingly, disabled rules will be eliminated in the future.
/**
* @see https://github.com/godaddy/eslint-plugin-i18n-json#readme
*/
"i18n-json/valid-message-syntax": [
2,
{
syntax: "icu",
},
],
"i18n-json/valid-json": 2,
"i18n-json/sorted-keys": [
2,
{
order: "asc",
indentSpaces: 2,
},
],
"i18n-json/identical-keys": 0,
/**
* @see https://typescript-eslint.io
*/
"@typescript-eslint/consistent-type-imports": [
"off"
"off",
// "warn",
// {
// prefer: "type-imports",
// fixStyle: "inline-type-imports" // "separate-type-imports"
// }
],
"@typescript-eslint/no-unused-vars": [
"off"
"off",
// "warn",
// {
// argsIgnorePattern: "^_",
Expand All @@ -73,9 +95,17 @@ const config = defineConfig({
],
"@typescript-eslint/consistent-type-definitions": [
/* "error", "type" */
"off"
"off",
],
"@typescript-eslint/no-non-null-assertion": "off",
"@typescript-eslint/no-unsafe-enum-comparison": "off",
"@typescript-eslint/dot-notation": "off",
"@typescript-eslint/no-floating-promises": "off",
"@typescript-eslint/no-empty-function": "off",
"@typescript-eslint/restrict-plus-operands": "off",
"@typescript-eslint/non-nullable-type-assertion-style": "off",
"@tanstack/query/exhaustive-deps": "error",
"@typescript-eslint/restrict-template-expressions": "off",
"no-case-declarations": "off",
"@typescript-eslint/no-unnecessary-type-arguments": "off",
"@typescript-eslint/consistent-indexed-object-style": "off",
Expand Down Expand Up @@ -108,7 +138,7 @@ const config = defineConfig({
"tailwindcss/migration-from-tailwind-2": "off",
"tailwindcss/no-custom-classname": "off",
"import/order": [
"off"
"off",
// "error",
// {
// "newlines-between": "always",
Expand All @@ -126,21 +156,21 @@ const config = defineConfig({
// }
],
"sort-imports": [
"off"
"off",
// "error",
// {
// ignoreDeclarationSort: true
// }
]
}
],
},
},

// ============================================
// | Override: JavaScript |
// ============================================

{
files: ["*.js", "*.jsx", "*.mjs", "*.cjs"]
files: ["*.js", "*.jsx", "*.mjs", "*.cjs"],
},

// ============================================
Expand All @@ -156,22 +186,23 @@ const config = defineConfig({
"plugin:@typescript-eslint/strict-type-checked",
"plugin:jest-extended/all",
"plugin:jest/style",
"plugin:jest/all"
"plugin:jest/all",
],
rules: {
// !! We are incrementally moving towards full and strict type safety.
// !! Accordingly, disabled rules will be eliminated in the future.
"@typescript-eslint/prefer-nullish-coalescing": "off",
"@typescript-eslint/no-non-null-assertion": "off",
"jest/prefer-expect-assertions": "off",
"jest/no-disabled-tests": "warn",
"jest/no-focused-tests": "error",
"jest/no-identical-title": "error",
"jest/prefer-to-have-length": "warn",
"jest/valid-expect": "error",
"jest/require-top-level-describe": "off"
}
}
]
"jest/require-top-level-describe": "off",
},
},
],
});

module.exports = config;
1 change: 1 addition & 0 deletions .github/funding.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
github: [blefnk]
Loading

0 comments on commit 52dd520

Please sign in to comment.