├── apps ├── embed │ ├── public │ │ ├── robots.txt │ │ ├── favicon.ico │ │ ├── og_fallback.png │ │ ├── card_fallback.png │ │ ├── favicons │ │ │ ├── favicon.ico │ │ │ ├── favicon-16x16.png │ │ │ ├── favicon-32x32.png │ │ │ ├── apple-touch-icon.png │ │ │ ├── mstile-150x150.png │ │ │ ├── android-chrome-192x192.png │ │ │ ├── android-chrome-512x512.png │ │ │ ├── browserconfig.xml │ │ │ ├── site.webmanifest │ │ │ └── safari-pinned-tab.svg │ │ └── fonts │ │ │ ├── Inter │ │ │ └── inter-var-latin.woff2 │ │ │ └── Gilroy │ │ │ ├── gilroy-bold-latin.woff2 │ │ │ ├── gilroy-extrabold-latin.woff2 │ │ │ └── gilroy-semibold-latin.woff2 │ ├── tailwind.config.js │ ├── postcss.config.js │ ├── .eslintrc.js │ ├── next-env.d.ts │ ├── customHttp.yml │ ├── tsconfig.json │ ├── src │ │ ├── pages │ │ │ ├── _app.tsx │ │ │ ├── 500.tsx │ │ │ └── 404.tsx │ │ ├── utils │ │ │ ├── env.d.ts │ │ │ ├── useWindowDimensions.ts │ │ │ └── trpc.ts │ │ └── styles │ │ │ └── globals.css │ ├── package.json │ ├── svg │ │ └── 404.svg │ └── README.md ├── webfront │ ├── tailwind.config.js │ ├── postcss.config.js │ ├── public │ │ ├── dp_fallback.png │ │ ├── card_fallback.png │ │ ├── favicons │ │ │ ├── favicon.ico │ │ │ ├── favicon-16x16.png │ │ │ ├── favicon-32x32.png │ │ │ ├── mstile-150x150.png │ │ │ ├── apple-touch-icon.png │ │ │ ├── android-chrome-192x192.png │ │ │ ├── android-chrome-512x512.png │ │ │ ├── browserconfig.xml │ │ │ ├── site.webmanifest │ │ │ └── safari-pinned-tab.svg │ │ ├── onboarding │ │ │ ├── person1.png │ │ │ ├── person2.png │ │ │ ├── person3.png │ │ │ ├── person4.png │ │ │ ├── person5.png │ │ │ └── person6.png │ │ └── fonts │ │ │ ├── Gotham │ │ │ ├── GothamBold.ttf │ │ │ └── GothamLight.ttf │ │ │ ├── Inter │ │ │ └── inter-var-latin.woff2 │ │ │ └── Gilroy │ │ │ ├── gilroy-bold-latin.woff2 │ │ │ ├── gilroy-extrabold-latin.woff2 │ │ │ ├── gilroy-regular-latin.woff2 │ │ │ └── gilroy-semibold-latin.woff2 │ ├── .eslintrc.js │ ├── next-env.d.ts │ ├── svg │ │ ├── Check.svg │ │ ├── RecordingScreen │ │ │ ├── CustomLayout.svg │ │ │ ├── StartRecord.svg │ │ │ ├── StopRecord.svg │ │ │ ├── OnlyUserMedia.svg │ │ │ └── ThreeWaySwap.svg │ │ ├── Flick.svg │ │ ├── BulletListStyle.svg │ │ ├── Timeline.svg │ │ ├── TransitionIcon.svg │ │ ├── OutroFragment │ │ │ ├── website.svg │ │ │ ├── linkedin.svg │ │ │ ├── youtube.svg │ │ │ ├── twitter.svg │ │ │ └── discord.svg │ │ ├── Youtube.svg │ │ ├── 404.svg │ │ ├── Logomark.svg │ │ ├── NumberListStyle.svg │ │ ├── Twitter.svg │ │ ├── BrandIcon.svg │ │ ├── Discord.svg │ │ ├── UserPlaceholder.svg │ │ ├── Linkedin.svg │ │ └── ListReplace.svg │ ├── README.md │ ├── tsconfig.json │ ├── jest.config.js │ ├── sample.env │ ├── src │ │ ├── components │ │ │ ├── core │ │ │ │ ├── CoreLayout.tsx │ │ │ │ ├── Header.tsx │ │ │ │ └── CookieBanner.tsx │ │ │ ├── legal │ │ │ │ ├── Content.tsx │ │ │ │ └── HeroText.tsx │ │ │ ├── notifications │ │ │ │ └── NotificationMessage.tsx │ │ │ ├── onboarding │ │ │ │ └── types.ts │ │ │ ├── flick │ │ │ │ ├── preview │ │ │ │ │ └── mode │ │ │ │ │ │ └── index.tsx │ │ │ │ └── studio │ │ │ │ │ ├── Countdown.tsx │ │ │ │ │ └── Timer.tsx │ │ │ ├── dashboard │ │ │ │ └── SeriesTile.tsx │ │ │ └── series │ │ │ │ └── SeriesActionButton.tsx │ │ ├── pages │ │ │ ├── api │ │ │ │ ├── trpc │ │ │ │ │ └── [trpc].ts │ │ │ │ ├── webhook │ │ │ │ │ ├── editor-update.ts │ │ │ │ │ └── complete-recording.ts │ │ │ │ └── logout.ts │ │ │ ├── onboarding │ │ │ │ └── index.tsx │ │ │ ├── index.tsx │ │ │ └── 500.tsx │ │ ├── utils │ │ │ ├── helpers │ │ │ │ ├── initMiddleware.ts │ │ │ │ ├── setCookie.ts │ │ │ │ └── mdToHtml.ts │ │ │ └── hooks │ │ │ │ ├── useDidUpdateEffect.ts │ │ │ │ ├── usePush.ts │ │ │ │ ├── useReplace.ts │ │ │ │ └── useBlock.ts │ │ ├── types │ │ │ └── env.d.ts │ │ └── server │ │ │ └── trpc.ts │ └── next.config.js ├── firebase-functions │ ├── .firebaserc │ ├── README.md │ ├── firebase.json │ ├── .eslintrc.js │ ├── tsconfig.json │ ├── package.json │ └── src │ │ └── index.ts ├── media-convert │ ├── .eslintrc.js │ ├── package.json │ └── index.js └── hocuspocus │ ├── tsconfig.json │ ├── .eslintrc.js │ ├── package.json │ └── src │ └── utils │ └── logger.ts ├── packages ├── ui │ ├── tailwind.config.js │ ├── postcss.config.js │ ├── src │ │ ├── assets │ │ │ ├── card_fallback.png │ │ │ ├── CodeSandbox.svg │ │ │ └── StackBlitz.svg │ │ ├── Loader.tsx │ │ ├── Container.tsx │ │ ├── Label.tsx │ │ ├── index.tsx │ │ ├── Avatar.tsx │ │ ├── Heading.tsx │ │ ├── Text.tsx │ │ ├── ScreenState.tsx │ │ ├── Toast.tsx │ │ └── Switch.tsx │ ├── tsconfig.json │ ├── .eslintrc.js │ ├── types.d.ts │ └── package.json ├── editor │ ├── tailwind.config.js │ ├── postcss.config.js │ ├── src │ │ ├── assets │ │ │ ├── record-screen.jpeg │ │ │ ├── Command_Heading1.svg │ │ │ ├── Command_CodeSandbox.svg │ │ │ ├── Command_Code.svg │ │ │ ├── Command_Heading2.svg │ │ │ ├── Command_Heading3.svg │ │ │ ├── Command_Stackblitz.svg │ │ │ ├── Command_Video.svg │ │ │ ├── Command_Text.svg │ │ │ ├── trim.svg │ │ │ ├── crop-outline.svg │ │ │ ├── Command_Image.svg │ │ │ ├── Command_List.svg │ │ │ ├── Command_ScreenGrab.svg │ │ │ └── Logo.svg │ │ ├── styles │ │ │ └── tinyEditorStyle.ts │ │ ├── nodes │ │ │ ├── extension-slash-command │ │ │ │ └── index.ts │ │ │ ├── extension-interaction │ │ │ │ └── index.tsx │ │ │ ├── extension-code │ │ │ │ ├── index.ts │ │ │ │ └── CodeBlock.tsx │ │ │ └── extension-video │ │ │ │ └── index.ts │ │ └── utils │ │ │ └── allowedLanguages.ts │ ├── tsconfig.json │ ├── .eslintrc.js │ └── types.d.ts ├── config │ ├── postcss.config.js │ ├── tsconfig-react.json │ ├── tsconfig-base.json │ ├── tsconfig-next.json │ ├── package.json │ ├── eslint-react.js │ ├── eslint-node.js │ ├── tailwind.config.js │ └── eslint-next.js ├── icanvas │ ├── tsconfig.json │ ├── .eslintrc.js │ └── package.json ├── utils │ ├── tsconfig.json │ ├── .eslintrc.js │ ├── package.json │ └── src │ │ ├── helpers │ │ ├── validations.ts │ │ ├── suggestion.ts │ │ └── get-seekable-webm.ts │ │ ├── hooks │ │ ├── use-get-hw.ts │ │ ├── useOutsideClick.ts │ │ └── use-env.ts │ │ └── index.ts ├── prisma-orm │ ├── tsconfig.json │ ├── .eslintrc.js │ ├── package.json │ ├── README.md │ ├── prisma.ts │ └── seed.ts └── server │ ├── .eslintrc.js │ ├── tsconfig.json │ ├── utils │ ├── aws.ts │ ├── upload.ts │ ├── jwt.ts │ ├── generateAgoraToken.ts │ └── VideoBlock.ts │ ├── createRouter.ts │ ├── sample.secret.json │ ├── package.json │ └── routes │ └── route.ts ├── .husky ├── pre-commit └── commit-msg ├── assets ├── logo.png └── main.png ├── .editorconfig ├── .prettierrc.json ├── .vscode └── settings.json ├── .github ├── ISSUE_TEMPLATE │ ├── config.yml │ ├── feature_request.yml │ └── bug_report.yml └── workflows │ └── stale.yml ├── turbo.json ├── .gitignore ├── docker-compose.yaml ├── .czrc └── package.json /apps/embed/public/robots.txt: -------------------------------------------------------------------------------- 1 | # Allow all crawlers 2 | User-agent: * 3 | Allow: / 4 | -------------------------------------------------------------------------------- /apps/embed/tailwind.config.js: -------------------------------------------------------------------------------- 1 | module.exports = require('config/tailwind.config') 2 | -------------------------------------------------------------------------------- /apps/webfront/tailwind.config.js: -------------------------------------------------------------------------------- 1 | module.exports = require('config/tailwind.config') 2 | -------------------------------------------------------------------------------- /packages/ui/tailwind.config.js: -------------------------------------------------------------------------------- 1 | module.exports = require('config/tailwind.config') 2 | -------------------------------------------------------------------------------- /packages/editor/tailwind.config.js: -------------------------------------------------------------------------------- 1 | module.exports = require('config/tailwind.config') 2 | -------------------------------------------------------------------------------- /.husky/pre-commit: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | . "$(dirname -- "$0")/_/husky.sh" 3 | 4 | npx lint-staged 5 | -------------------------------------------------------------------------------- /assets/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IncredibleDevHQ/dev-video-creator/HEAD/assets/logo.png -------------------------------------------------------------------------------- /assets/main.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IncredibleDevHQ/dev-video-creator/HEAD/assets/main.png -------------------------------------------------------------------------------- /apps/firebase-functions/.firebaserc: -------------------------------------------------------------------------------- 1 | { 2 | "projects": { 3 | "default": "incredibledev-next-staging" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /apps/embed/postcss.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: { 3 | tailwindcss: {}, 4 | autoprefixer: {}, 5 | }, 6 | } 7 | -------------------------------------------------------------------------------- /apps/embed/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IncredibleDevHQ/dev-video-creator/HEAD/apps/embed/public/favicon.ico -------------------------------------------------------------------------------- /apps/webfront/postcss.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: { 3 | tailwindcss: {}, 4 | autoprefixer: {}, 5 | }, 6 | } 7 | -------------------------------------------------------------------------------- /packages/config/postcss.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: { 3 | tailwindcss: {}, 4 | autoprefixer: {}, 5 | }, 6 | } 7 | -------------------------------------------------------------------------------- /packages/editor/postcss.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: { 3 | tailwindcss: {}, 4 | autoprefixer: {}, 5 | }, 6 | } 7 | -------------------------------------------------------------------------------- /packages/ui/postcss.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: { 3 | tailwindcss: {}, 4 | autoprefixer: {}, 5 | }, 6 | } 7 | -------------------------------------------------------------------------------- /apps/embed/public/og_fallback.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IncredibleDevHQ/dev-video-creator/HEAD/apps/embed/public/og_fallback.png -------------------------------------------------------------------------------- /apps/embed/public/card_fallback.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IncredibleDevHQ/dev-video-creator/HEAD/apps/embed/public/card_fallback.png -------------------------------------------------------------------------------- /apps/webfront/public/dp_fallback.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IncredibleDevHQ/dev-video-creator/HEAD/apps/webfront/public/dp_fallback.png -------------------------------------------------------------------------------- /apps/embed/public/favicons/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IncredibleDevHQ/dev-video-creator/HEAD/apps/embed/public/favicons/favicon.ico -------------------------------------------------------------------------------- /apps/webfront/public/card_fallback.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IncredibleDevHQ/dev-video-creator/HEAD/apps/webfront/public/card_fallback.png -------------------------------------------------------------------------------- /apps/webfront/public/favicons/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IncredibleDevHQ/dev-video-creator/HEAD/apps/webfront/public/favicons/favicon.ico -------------------------------------------------------------------------------- /packages/ui/src/assets/card_fallback.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IncredibleDevHQ/dev-video-creator/HEAD/packages/ui/src/assets/card_fallback.png -------------------------------------------------------------------------------- /apps/embed/public/favicons/favicon-16x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IncredibleDevHQ/dev-video-creator/HEAD/apps/embed/public/favicons/favicon-16x16.png -------------------------------------------------------------------------------- /apps/embed/public/favicons/favicon-32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IncredibleDevHQ/dev-video-creator/HEAD/apps/embed/public/favicons/favicon-32x32.png -------------------------------------------------------------------------------- /apps/media-convert/.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | parserOptions: { 3 | ecmaVersion: 'latest', 4 | }, 5 | env: { 6 | es6: true, 7 | }, 8 | } 9 | -------------------------------------------------------------------------------- /apps/webfront/public/onboarding/person1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IncredibleDevHQ/dev-video-creator/HEAD/apps/webfront/public/onboarding/person1.png -------------------------------------------------------------------------------- /apps/webfront/public/onboarding/person2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IncredibleDevHQ/dev-video-creator/HEAD/apps/webfront/public/onboarding/person2.png -------------------------------------------------------------------------------- /apps/webfront/public/onboarding/person3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IncredibleDevHQ/dev-video-creator/HEAD/apps/webfront/public/onboarding/person3.png -------------------------------------------------------------------------------- /apps/webfront/public/onboarding/person4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IncredibleDevHQ/dev-video-creator/HEAD/apps/webfront/public/onboarding/person4.png -------------------------------------------------------------------------------- /apps/webfront/public/onboarding/person5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IncredibleDevHQ/dev-video-creator/HEAD/apps/webfront/public/onboarding/person5.png -------------------------------------------------------------------------------- /apps/webfront/public/onboarding/person6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IncredibleDevHQ/dev-video-creator/HEAD/apps/webfront/public/onboarding/person6.png -------------------------------------------------------------------------------- /packages/ui/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "config/tsconfig-react.json", 3 | "include": ["."], 4 | "exclude": ["dist", "build", "node_modules"] 5 | } 6 | -------------------------------------------------------------------------------- /apps/embed/public/favicons/apple-touch-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IncredibleDevHQ/dev-video-creator/HEAD/apps/embed/public/favicons/apple-touch-icon.png -------------------------------------------------------------------------------- /apps/embed/public/favicons/mstile-150x150.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IncredibleDevHQ/dev-video-creator/HEAD/apps/embed/public/favicons/mstile-150x150.png -------------------------------------------------------------------------------- /apps/webfront/public/favicons/favicon-16x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IncredibleDevHQ/dev-video-creator/HEAD/apps/webfront/public/favicons/favicon-16x16.png -------------------------------------------------------------------------------- /apps/webfront/public/favicons/favicon-32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IncredibleDevHQ/dev-video-creator/HEAD/apps/webfront/public/favicons/favicon-32x32.png -------------------------------------------------------------------------------- /packages/editor/src/assets/record-screen.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IncredibleDevHQ/dev-video-creator/HEAD/packages/editor/src/assets/record-screen.jpeg -------------------------------------------------------------------------------- /packages/icanvas/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "config/tsconfig-react.json", 3 | "include": ["."], 4 | "exclude": ["dist", "build", "node_modules"] 5 | } 6 | -------------------------------------------------------------------------------- /packages/utils/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "config/tsconfig-react.json", 3 | "include": ["."], 4 | "exclude": ["dist", "build", "node_modules"] 5 | } 6 | -------------------------------------------------------------------------------- /apps/webfront/public/favicons/mstile-150x150.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IncredibleDevHQ/dev-video-creator/HEAD/apps/webfront/public/favicons/mstile-150x150.png -------------------------------------------------------------------------------- /apps/webfront/public/fonts/Gotham/GothamBold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IncredibleDevHQ/dev-video-creator/HEAD/apps/webfront/public/fonts/Gotham/GothamBold.ttf -------------------------------------------------------------------------------- /apps/webfront/public/fonts/Gotham/GothamLight.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IncredibleDevHQ/dev-video-creator/HEAD/apps/webfront/public/fonts/Gotham/GothamLight.ttf -------------------------------------------------------------------------------- /apps/embed/public/fonts/Inter/inter-var-latin.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IncredibleDevHQ/dev-video-creator/HEAD/apps/embed/public/fonts/Inter/inter-var-latin.woff2 -------------------------------------------------------------------------------- /apps/webfront/public/favicons/apple-touch-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IncredibleDevHQ/dev-video-creator/HEAD/apps/webfront/public/favicons/apple-touch-icon.png -------------------------------------------------------------------------------- /apps/embed/public/favicons/android-chrome-192x192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IncredibleDevHQ/dev-video-creator/HEAD/apps/embed/public/favicons/android-chrome-192x192.png -------------------------------------------------------------------------------- /apps/embed/public/favicons/android-chrome-512x512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IncredibleDevHQ/dev-video-creator/HEAD/apps/embed/public/favicons/android-chrome-512x512.png -------------------------------------------------------------------------------- /apps/embed/public/fonts/Gilroy/gilroy-bold-latin.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IncredibleDevHQ/dev-video-creator/HEAD/apps/embed/public/fonts/Gilroy/gilroy-bold-latin.woff2 -------------------------------------------------------------------------------- /apps/webfront/public/fonts/Inter/inter-var-latin.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IncredibleDevHQ/dev-video-creator/HEAD/apps/webfront/public/fonts/Inter/inter-var-latin.woff2 -------------------------------------------------------------------------------- /apps/webfront/public/favicons/android-chrome-192x192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IncredibleDevHQ/dev-video-creator/HEAD/apps/webfront/public/favicons/android-chrome-192x192.png -------------------------------------------------------------------------------- /apps/webfront/public/favicons/android-chrome-512x512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IncredibleDevHQ/dev-video-creator/HEAD/apps/webfront/public/favicons/android-chrome-512x512.png -------------------------------------------------------------------------------- /apps/webfront/public/fonts/Gilroy/gilroy-bold-latin.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IncredibleDevHQ/dev-video-creator/HEAD/apps/webfront/public/fonts/Gilroy/gilroy-bold-latin.woff2 -------------------------------------------------------------------------------- /apps/embed/public/fonts/Gilroy/gilroy-extrabold-latin.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IncredibleDevHQ/dev-video-creator/HEAD/apps/embed/public/fonts/Gilroy/gilroy-extrabold-latin.woff2 -------------------------------------------------------------------------------- /apps/embed/public/fonts/Gilroy/gilroy-semibold-latin.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IncredibleDevHQ/dev-video-creator/HEAD/apps/embed/public/fonts/Gilroy/gilroy-semibold-latin.woff2 -------------------------------------------------------------------------------- /apps/embed/.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | ...require('config/eslint-next.js'), 3 | parserOptions: { 4 | tsconfigRootDir: __dirname, 5 | project: './tsconfig.json', 6 | }, 7 | } 8 | -------------------------------------------------------------------------------- /apps/firebase-functions/README.md: -------------------------------------------------------------------------------- 1 | ## Secrets 2 | 3 | ref : 4 | 5 | ``` 6 | firebase functions:secrets:set WEBHOOK_SECRET 7 | ``` 8 | -------------------------------------------------------------------------------- /apps/webfront/public/fonts/Gilroy/gilroy-extrabold-latin.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IncredibleDevHQ/dev-video-creator/HEAD/apps/webfront/public/fonts/Gilroy/gilroy-extrabold-latin.woff2 -------------------------------------------------------------------------------- /apps/webfront/public/fonts/Gilroy/gilroy-regular-latin.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IncredibleDevHQ/dev-video-creator/HEAD/apps/webfront/public/fonts/Gilroy/gilroy-regular-latin.woff2 -------------------------------------------------------------------------------- /apps/webfront/public/fonts/Gilroy/gilroy-semibold-latin.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IncredibleDevHQ/dev-video-creator/HEAD/apps/webfront/public/fonts/Gilroy/gilroy-semibold-latin.woff2 -------------------------------------------------------------------------------- /apps/webfront/.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | ...require('config/eslint-next.js'), 3 | parserOptions: { 4 | tsconfigRootDir: __dirname, 5 | project: './tsconfig.json', 6 | }, 7 | } 8 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | charset = utf-8 5 | indent_style = space 6 | indent_size = 2 7 | end_of_line = lf 8 | insert_final_newline = true 9 | trim_trailing_whitespace = true 10 | -------------------------------------------------------------------------------- /packages/prisma-orm/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "config/tsconfig-next.json", 3 | "include": ["./*.ts", "**/*.ts", "**/*.tsx", "pre-build.js"], 4 | "exclude": ["dist", "build", "node_modules"] 5 | } 6 | -------------------------------------------------------------------------------- /packages/editor/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "config/tsconfig-react.json", 3 | "compilerOptions": { 4 | "disableSizeLimit": true 5 | }, 6 | "include": ["."], 7 | "exclude": ["dist", "build", "node_modules"] 8 | } 9 | -------------------------------------------------------------------------------- /apps/firebase-functions/firebase.json: -------------------------------------------------------------------------------- 1 | { 2 | "functions": { 3 | "source": ".", 4 | "predeploy": [ 5 | "npm --prefix \"$RESOURCE_DIR\" run lint", 6 | "npm --prefix \"$RESOURCE_DIR\" run build" 7 | ] 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /apps/embed/next-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | /// 3 | 4 | // NOTE: This file should not be edited 5 | // see https://nextjs.org/docs/basic-features/typescript for more information. 6 | -------------------------------------------------------------------------------- /apps/webfront/next-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | /// 3 | 4 | // NOTE: This file should not be edited 5 | // see https://nextjs.org/docs/basic-features/typescript for more information. 6 | -------------------------------------------------------------------------------- /packages/prisma-orm/.eslintrc.js: -------------------------------------------------------------------------------- 1 | const eslintNext = require('config/eslint-next.js') 2 | 3 | module.exports = { 4 | ...eslintNext, 5 | parserOptions: { 6 | tsconfigRootDir: __dirname, 7 | project: './tsconfig.json', 8 | }, 9 | } 10 | -------------------------------------------------------------------------------- /.prettierrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "endOfLine": "lf", 3 | "printWidth": 80, 4 | "trailingComma": "es5", 5 | "semi": false, 6 | "jsxSingleQuote": true, 7 | "singleQuote": true, 8 | "useTabs": true, 9 | "tabWidth": 2, 10 | "arrowParens": "avoid" 11 | } 12 | -------------------------------------------------------------------------------- /apps/webfront/svg/Check.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /apps/hocuspocus/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "config/tsconfig-base.json", 3 | "compilerOptions": { 4 | "lib": ["ES2015"], 5 | "module": "CommonJS", 6 | "outDir": "./dist", 7 | "rootDir": "./src" 8 | }, 9 | "exclude": ["node_modules"], 10 | "include": ["src"] 11 | } 12 | -------------------------------------------------------------------------------- /apps/hocuspocus/.eslintrc.js: -------------------------------------------------------------------------------- 1 | const eslintNode = require('config/eslint-node.js') 2 | 3 | module.exports = { 4 | ...eslintNode, 5 | parserOptions: { 6 | tsconfigRootDir: __dirname, 7 | project: './tsconfig.json', 8 | sourceType: 'module', 9 | ecmaVersion: 2020, 10 | }, 11 | } 12 | -------------------------------------------------------------------------------- /packages/server/.eslintrc.js: -------------------------------------------------------------------------------- 1 | const eslintNode = require('config/eslint-node.js') 2 | 3 | module.exports = { 4 | ...eslintNode, 5 | parserOptions: { 6 | tsconfigRootDir: __dirname, 7 | project: './tsconfig.json', 8 | sourceType: 'module', 9 | ecmaVersion: 2020, 10 | }, 11 | } 12 | -------------------------------------------------------------------------------- /apps/firebase-functions/.eslintrc.js: -------------------------------------------------------------------------------- 1 | const eslintNode = require('config/eslint-node.js') 2 | 3 | module.exports = { 4 | ...eslintNode, 5 | parserOptions: { 6 | tsconfigRootDir: __dirname, 7 | project: './tsconfig.json', 8 | sourceType: 'module', 9 | ecmaVersion: 2020, 10 | }, 11 | } 12 | -------------------------------------------------------------------------------- /packages/config/tsconfig-react.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://json.schemastore.org/tsconfig", 3 | "display": "UI Library", 4 | "extends": "./tsconfig-base.json", 5 | "compilerOptions": { 6 | "lib": ["ES2015", "DOM"], 7 | "module": "ESNext", 8 | "target": "ES6", 9 | "jsx": "react-jsx" 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /apps/firebase-functions/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "module": "commonjs", 4 | "noImplicitReturns": true, 5 | "noUnusedLocals": true, 6 | "outDir": "lib", 7 | "sourceMap": true, 8 | "strict": true, 9 | "target": "es2017" 10 | }, 11 | "compileOnSave": true, 12 | "include": ["src"] 13 | } 14 | -------------------------------------------------------------------------------- /apps/webfront/svg/RecordingScreen/CustomLayout.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /packages/editor/src/assets/Command_Heading1.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /packages/editor/.eslintrc.js: -------------------------------------------------------------------------------- 1 | const eslintReact = require('config/eslint-react.js') 2 | 3 | module.exports = { 4 | ...eslintReact, 5 | parserOptions: { 6 | tsconfigRootDir: __dirname, 7 | project: './tsconfig.json', 8 | }, 9 | rules: { 10 | ...eslintReact.rules, 11 | 'import/prefer-default-export': 'off', 12 | }, 13 | } 14 | -------------------------------------------------------------------------------- /packages/ui/.eslintrc.js: -------------------------------------------------------------------------------- 1 | const eslintReact = require('config/eslint-react.js') 2 | 3 | module.exports = { 4 | ...eslintReact, 5 | parserOptions: { 6 | tsconfigRootDir: __dirname, 7 | project: './tsconfig.json', 8 | }, 9 | rules: { 10 | ...eslintReact.rules, 11 | 'import/prefer-default-export': 'off', 12 | }, 13 | } 14 | -------------------------------------------------------------------------------- /packages/utils/.eslintrc.js: -------------------------------------------------------------------------------- 1 | const eslintReact = require('config/eslint-react.js') 2 | 3 | module.exports = { 4 | ...eslintReact, 5 | parserOptions: { 6 | tsconfigRootDir: __dirname, 7 | project: './tsconfig.json', 8 | }, 9 | rules: { 10 | ...eslintReact.rules, 11 | 'import/prefer-default-export': 'off', 12 | }, 13 | } 14 | -------------------------------------------------------------------------------- /packages/icanvas/.eslintrc.js: -------------------------------------------------------------------------------- 1 | const eslintReact = require('config/eslint-react.js') 2 | 3 | module.exports = { 4 | ...eslintReact, 5 | parserOptions: { 6 | tsconfigRootDir: __dirname, 7 | project: './tsconfig.json', 8 | }, 9 | rules: { 10 | ...eslintReact.rules, 11 | 'import/prefer-default-export': 'off', 12 | }, 13 | } 14 | -------------------------------------------------------------------------------- /apps/embed/public/favicons/browserconfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | #ffffff 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /apps/media-convert/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "mediaconvert", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "author": "Ashwin.M.S", 10 | "license": "ISC", 11 | "dependencies": { 12 | "node-fetch": "^2.6.1" 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /packages/server/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "config/tsconfig-next.json", 3 | "compilerOptions": { 4 | "disableSizeLimit": true, 5 | "declaration": false, 6 | "declarationMap": false, 7 | "skipLibCheck": true 8 | }, 9 | "include": ["**/*.ts", "**/*.tsx", "env.fetch.js"], 10 | "exclude": ["dist", "build", "node_modules"] 11 | } 12 | -------------------------------------------------------------------------------- /packages/ui/src/assets/CodeSandbox.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /apps/webfront/public/favicons/browserconfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | #ffffff 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "cSpell.words": [ 3 | "codegen", 4 | "codesandbox", 5 | "giphy", 6 | "hasura", 7 | "hocuspocus", 8 | "liveblocks", 9 | "logrocket", 10 | "replit", 11 | "stackblitz", 12 | "tailwindcss", 13 | "tiptap", 14 | "webfront" 15 | ], 16 | "files.exclude": { 17 | "**/**/node_modules/": true 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /apps/embed/customHttp.yml: -------------------------------------------------------------------------------- 1 | customHeaders: 2 | - pattern: "/fonts/Gilroy/*.woff2" 3 | headers: 4 | - key: "Cache-Control" 5 | value: "public, max-age=31536000, as=font, immutable" 6 | - pattern: "/fonts/Inter/*.woff2" 7 | headers: 8 | - key: "Cache-Control" 9 | value: "public, max-age=31536000, as=font, immutable" 10 | -------------------------------------------------------------------------------- /packages/editor/src/assets/Command_CodeSandbox.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /packages/editor/src/assets/Command_Code.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /packages/editor/src/assets/Command_Heading2.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /packages/editor/src/assets/Command_Heading3.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /apps/webfront/svg/Flick.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /packages/ui/src/assets/StackBlitz.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/config.yml: -------------------------------------------------------------------------------- 1 | blank_issues_enabled: false 2 | contact_links: 3 | - name: Discuss Incredible on GitHub 4 | url: https://github.com/IncredibledevHQ/Incredible/discussions/new 5 | about: Join the conversation. 6 | - name: Join the Incredible Discord 7 | url: https://discord.gg/jJQWQs8Fh2 8 | about: Hangout with other Incredible dev and creator's! 9 | -------------------------------------------------------------------------------- /packages/editor/src/assets/Command_Stackblitz.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /packages/editor/src/assets/Command_Video.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /apps/webfront/README.md: -------------------------------------------------------------------------------- 1 | # Getting Started 2 | 3 | Run the development server: 4 | 5 | ```bash 6 | yarn dev 7 | ``` 8 | 9 | ## Initializing tests 10 | 11 | ```bash 12 | yarn workspace webfront install -D jest @types/jest ts-jest 13 | cd apps/webfront 14 | yarn ts-jest config:init 15 | ``` 16 | 17 | Open [http://localhost:3000](http://localhost:3000) with your browser to see the result. 18 | -------------------------------------------------------------------------------- /packages/editor/src/assets/Command_Text.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /turbo.json: -------------------------------------------------------------------------------- 1 | { 2 | "globalDependencies": [".env, **/*/.env"], 3 | "pipeline": { 4 | "prepare": {}, 5 | "postinstall": {}, 6 | "prebuild": { 7 | "cache": false 8 | }, 9 | "build": { 10 | "dependsOn": ["prebuild", "^build"], 11 | "outputs": ["dist/**", ".next/**"] 12 | }, 13 | "lint": { 14 | "outputs": [] 15 | }, 16 | "dev": { 17 | "cache": false 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /apps/embed/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "config/tsconfig-next.json", 3 | "compilerOptions": { 4 | "baseUrl": ".", 5 | "strict": true, 6 | "disableSizeLimit": true, 7 | "declaration": false, 8 | "declarationMap": false, 9 | "skipLibCheck": true 10 | }, 11 | "paths": { 12 | "@/*": ["./src/*"] 13 | }, 14 | "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx"], 15 | "exclude": ["node_modules"] 16 | } 17 | -------------------------------------------------------------------------------- /apps/webfront/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "config/tsconfig-next.json", 3 | "compilerOptions": { 4 | "baseUrl": ".", 5 | "strict": true, 6 | "disableSizeLimit": true, 7 | "declaration": false, 8 | "declarationMap": false, 9 | "skipLibCheck": true 10 | }, 11 | "paths": { 12 | "@/*": ["./src/*"] 13 | }, 14 | "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx"], 15 | "exclude": ["node_modules"] 16 | } 17 | -------------------------------------------------------------------------------- /packages/prisma-orm/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "prisma-orm", 3 | "version": "0.0.1", 4 | "private": true, 5 | "scripts": { 6 | "lint": "eslint ./**/*.ts* --fix", 7 | "seed": "ts-node seed.ts", 8 | "postinstall": "prisma generate" 9 | }, 10 | "dependencies": { 11 | "@prisma/client": "^4.0.0" 12 | }, 13 | "devDependencies": { 14 | "typescript": "^4.5.3" 15 | }, 16 | "prisma": { 17 | "schema": "schema.prisma" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /.husky/commit-msg: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | RED='\033[0;31m' 3 | NC='\033[0m' 4 | if ! head -1 "$1" | grep -qE "^(feat|fix|chore|docs|test|style|refactor|perf|build|ci|revert|hotfix|merge)(\(.+?\))?: .{1,}$"; then 5 | echo "${RED}Aborting commit. Your commit message is invalid.${NC}" >&2 6 | exit 1 7 | fi 8 | if ! head -1 "$1" | grep -qE "^.{1,88}$"; then 9 | echo "${RED}Aborting commit. Your commit message is too long.${NC}" >&2 10 | exit 1 11 | fi -------------------------------------------------------------------------------- /apps/webfront/jest.config.js: -------------------------------------------------------------------------------- 1 | /** @type {import('ts-jest/dist/types').InitialOptionsTsJest} */ 2 | module.exports = { 3 | preset: 'ts-jest', 4 | testEnvironment: 'node', 5 | testPathIgnorePatterns: ['.next/', 'node_modules/'], 6 | testMatch: ['**/**/*.test.ts'], 7 | verbose: true, 8 | forceExit: true, 9 | detectOpenHandles: true, 10 | moduleFileExtensions: ['ts', 'js'], 11 | moduleNameMapper: { 12 | 'src/(.*)': '/src/$1', 13 | }, 14 | } 15 | -------------------------------------------------------------------------------- /apps/webfront/svg/BulletListStyle.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /apps/webfront/svg/RecordingScreen/StartRecord.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /apps/embed/public/favicons/site.webmanifest: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Incredible", 3 | "short_name": "Incredible", 4 | "icons": [ 5 | { 6 | "src": "android-chrome-192x192.png?v=005", 7 | "sizes": "192x192", 8 | "type": "image/png" 9 | }, 10 | { 11 | "src": "android-chrome-512x512.png?v=005", 12 | "sizes": "512x512", 13 | "type": "image/png" 14 | } 15 | ], 16 | "theme_color": "#ffffff", 17 | "background_color": "#ffffff", 18 | "display": "standalone" 19 | } 20 | -------------------------------------------------------------------------------- /apps/webfront/svg/RecordingScreen/StopRecord.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /packages/icanvas/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "icanvas", 3 | "version": "0.0.0", 4 | "main": "./index.tsx", 5 | "types": "./index.tsx", 6 | "license": "MIT", 7 | "scripts": { 8 | "lint": "eslint ./**/*.ts* --fix" 9 | }, 10 | "devDependencies": { 11 | "@types/react": "^17.0.37", 12 | "@types/react-dom": "^17.0.11", 13 | "config": "*", 14 | "eslint": "^7.32.0", 15 | "typescript": "^4.5.2" 16 | }, 17 | "dependencies": { 18 | "konva": "^8.3.10", 19 | "react": "17.0.2", 20 | "react-konva": "^17.0.2-5" 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /apps/webfront/svg/RecordingScreen/OnlyUserMedia.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /.github/workflows/stale.yml: -------------------------------------------------------------------------------- 1 | name: 'Close stale issues and PRs' 2 | on: 3 | workflow_dispatch: 4 | schedule: 5 | - cron: '0 0 * * *' 6 | 7 | jobs: 8 | stale: 9 | runs-on: ubuntu-latest 10 | steps: 11 | - uses: actions/stale@main 12 | with: 13 | stale-issue-message: 'This issue is stale because it has been open 45 days with no activity. Remove stale label or comment or this will be closed in 7 days' 14 | days-before-stale: 45 15 | days-before-close: 7 16 | stale-issue-label: stale 17 | stale-pr-label: stale 18 | -------------------------------------------------------------------------------- /packages/editor/src/assets/trim.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /apps/webfront/svg/Timeline.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /packages/config/tsconfig-base.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://json.schemastore.org/tsconfig", 3 | "display": "Default", 4 | "compilerOptions": { 5 | "composite": false, 6 | "declaration": true, 7 | "declarationMap": true, 8 | "esModuleInterop": true, 9 | "forceConsistentCasingInFileNames": true, 10 | "inlineSources": false, 11 | "isolatedModules": true, 12 | "moduleResolution": "node", 13 | "noUnusedLocals": true, 14 | "noUnusedParameters": true, 15 | "preserveWatchOutput": true, 16 | "skipLibCheck": true, 17 | "strict": true 18 | }, 19 | "exclude": ["node_modules"] 20 | } 21 | -------------------------------------------------------------------------------- /apps/webfront/public/favicons/site.webmanifest: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Incredible", 3 | "short_name": "Incredible", 4 | "icons": [ 5 | { 6 | "src": "/assets/favicons/android-chrome-192x192.png?v=005", 7 | "sizes": "192x192", 8 | "type": "image/png" 9 | }, 10 | { 11 | "src": "/assets/favicons/android-chrome-512x512.png?v=005", 12 | "sizes": "512x512", 13 | "type": "image/png" 14 | } 15 | ], 16 | "theme_color": "#ffffff", 17 | "background_color": "#ffffff", 18 | "display": "standalone" 19 | } 20 | -------------------------------------------------------------------------------- /apps/webfront/sample.env: -------------------------------------------------------------------------------- 1 | NEXT_PUBLIC_LIVEBLOCKS_PUBLIC_KEY="" 2 | NEXT_PUBLIC_EMBED_PLAYER_BASE_URL="http://localhost:3001" 3 | NEXT_PUBLIC_GOOGLE_FONTS_API_KEY="" 4 | NEXT_PUBLIC_HOCUSPOCUS_SERVER="" 5 | NEXT_PUBLIC_FIREBASE_CONFIG="" 6 | NEXT_PUBLIC_GIPHY_API_KEY="" 7 | NEXT_PUBLIC_TOKENIZE_ENDPOINT="http://localhost:8080/color-codes" 8 | NEXT_PUBLIC_API_ENDPOINT="http://localhost:3000/api" 9 | NEXT_PUBLIC_PUBLIC_URL="http://localhost:3000" 10 | NEXT_PUBLIC_AGORA_APP_ID="" 11 | NEXT_PUBLIC_DEPLOY_ENV="" 12 | NEXT_PUBLIC_CDN_URL="" 13 | ENCRYPTION_KEY="" 14 | NPM_RC="" 15 | IV="" 16 | ENV_ENCRYPTION_ALGORITHM="" 17 | DOPPLER_TOKEN="" 18 | DATABASE_URL="" 19 | -------------------------------------------------------------------------------- /packages/editor/src/assets/crop-outline.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /packages/prisma-orm/README.md: -------------------------------------------------------------------------------- 1 | # DB Setup 2 | 3 | Planetscale DB does not support 2 imortant things we find in regular DBs: 4 | 5 | - foreign keys ( hence we need to explicitly define indexes on foreign key column to avoid full table scans ) 6 | - functions/procedures ( we will need to move sql function logic such as `generate_link` used for slug generation to application logic). 7 | 8 | ## Note while using prisma client 9 | 10 | Always mention select parameters in query, otherwise it will return all columns. 11 | 12 | - It's important to always explicitly say which fields you want to return in order to not leak extra information 13 | - @see https://github.com/prisma/prisma/issues/9353 14 | -------------------------------------------------------------------------------- /packages/config/tsconfig-next.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://json.schemastore.org/tsconfig", 3 | "display": "Webfront", 4 | "extends": "./tsconfig-base.json", 5 | "compilerOptions": { 6 | "target": "es5", 7 | "lib": ["dom", "dom.iterable", "esnext"], 8 | "allowJs": true, 9 | "skipLibCheck": true, 10 | "strict": true, 11 | "forceConsistentCasingInFileNames": true, 12 | "noEmit": true, 13 | "incremental": true, 14 | "esModuleInterop": true, 15 | "module": "esnext", 16 | "resolveJsonModule": true, 17 | "isolatedModules": true, 18 | "jsx": "preserve", 19 | "downlevelIteration": true 20 | }, 21 | "include": ["src", "next-env.d.ts"], 22 | "exclude": ["node_modules"] 23 | } 24 | -------------------------------------------------------------------------------- /apps/webfront/svg/RecordingScreen/ThreeWaySwap.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /packages/utils/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "utils", 3 | "version": "0.0.1", 4 | "main": "./index.tsx", 5 | "types": "./index.tsx", 6 | "license": "MIT", 7 | "scripts": { 8 | "lint": "eslint ./**/*.ts* --fix" 9 | }, 10 | "devDependencies": { 11 | "@types/mime": "^2.0.3", 12 | "@types/mime-types": "^2.1.1", 13 | "@types/react": "^17.0.37", 14 | "@types/react-dom": "^17.0.11", 15 | "config": "*", 16 | "eslint": "^7.32.0", 17 | "typescript": "^4.5.3" 18 | }, 19 | "dependencies": { 20 | "@liveblocks/client": "^0.17.5", 21 | "axios": "^0.27.2", 22 | "mime": "^3.0.0", 23 | "mime-types": "^2.1.35", 24 | "nanoid": "^4.0.0", 25 | "react": "^17.0.2", 26 | "ts-ebml": "^2.0.2" 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /apps/firebase-functions/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "functions", 3 | "version": "0.0.0", 4 | "scripts": { 5 | "lint": "eslint --ext .js,.ts .", 6 | "build": "tsc", 7 | "serve": "yarn build && firebase emulators:start --only functions", 8 | "shell": "yarn build && firebase functions:shell", 9 | "start": "yarn shell", 10 | "deploy": "firebase deploy --only functions", 11 | "logs": "firebase functions:log" 12 | }, 13 | "main": "lib/index.js", 14 | "dependencies": { 15 | "axios": "^0.27.2", 16 | "firebase-admin": "^9.2.0", 17 | "firebase-functions": "^3.11.0" 18 | }, 19 | "devDependencies": { 20 | "eslint": "^7.6.0", 21 | "firebase-functions-test": "^0.2.0", 22 | "typescript": "^4.5.3", 23 | "config": "*" 24 | }, 25 | "private": true 26 | } 27 | -------------------------------------------------------------------------------- /packages/editor/types.d.ts: -------------------------------------------------------------------------------- 1 | // Copyright 2022 Pixelbyte Studio Pvt Ltd 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | declare module '*.svg' { 16 | const content: any 17 | export default content 18 | } 19 | 20 | declare module '*.jpeg' 21 | -------------------------------------------------------------------------------- /packages/ui/types.d.ts: -------------------------------------------------------------------------------- 1 | // Copyright 2022 Pixelbyte Studio Pvt Ltd 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | declare module '*.svg' { 16 | const content: any 17 | export default content 18 | } 19 | 20 | declare module '*.jpeg' 21 | declare module '*.png' 22 | -------------------------------------------------------------------------------- /apps/webfront/svg/TransitionIcon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /apps/embed/src/pages/_app.tsx: -------------------------------------------------------------------------------- 1 | // Copyright 2022 Pixelbyte Studio Pvt Ltd 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | import '../styles/globals.css' 16 | import type { AppProps } from 'next/app' 17 | 18 | const MyApp = ({ Component, pageProps }: AppProps) => ( 19 | 20 | ) 21 | 22 | export default MyApp 23 | -------------------------------------------------------------------------------- /apps/embed/src/utils/env.d.ts: -------------------------------------------------------------------------------- 1 | // Copyright 2022 Pixelbyte Studio Pvt Ltd 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | declare global { 16 | namespace NodeJS { 17 | interface ProcessEnv { 18 | NEXT_PUBLIC_CDN_URL: string 19 | NEXT_PUBLIC_EMBED_URL: string 20 | DATABASE_URL: string 21 | } 22 | } 23 | } 24 | 25 | export {} 26 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | node_modules 5 | .pnp 6 | .pnp.js 7 | 8 | # testing 9 | coverage 10 | 11 | # next.js 12 | .next/ 13 | out/ 14 | build 15 | 16 | # misc 17 | .DS_Store 18 | *.pem 19 | 20 | # debug 21 | npm-debug.log* 22 | yarn-debug.log* 23 | yarn-error.log* 24 | .pnpm-debug.log* 25 | 26 | # local env files 27 | .env.local 28 | .env.development.local 29 | .env.test.local 30 | .env.production.local 31 | 32 | # all env files 33 | **/*/.env 34 | 35 | # graphql related files 36 | **/graphql/generated.ts 37 | **/graphql/generated-ssr.ts 38 | **/*/graphql.schema.json 39 | 40 | # turbo 41 | .turbo 42 | **/*/.vercel 43 | .npmrc 44 | 45 | *.log 46 | # Compiled JavaScript files 47 | **/*/lib/**/*.js 48 | **/*/lib/**/*.js.map 49 | **/*/dist 50 | 51 | 52 | # TypeScript v1 declaration files 53 | **/*/typings/ 54 | 55 | **/*/env.server.js 56 | -------------------------------------------------------------------------------- /apps/embed/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "embed", 3 | "version": "0.0.0", 4 | "private": true, 5 | "scripts": { 6 | "dev": "next dev --port 3001", 7 | "build": "next build", 8 | "start": "next start", 9 | "lint": "eslint src --fix" 10 | }, 11 | "dependencies": { 12 | "@emotion/css": "^11.7.1", 13 | "@svgr/webpack": "^5.5.0", 14 | "@trpc/react": "^9.27.0", 15 | "@vime/core": "^5.3.1", 16 | "@vime/react": "^5.3.1", 17 | "autoprefixer": "^10.4.2", 18 | "next": "12.0.10", 19 | "postcss": "^8.4.6", 20 | "prisma-orm": "*", 21 | "react": "17.0.2", 22 | "react-dom": "17.0.2", 23 | "react-icons": "^4.3.1", 24 | "server": "*", 25 | "tailwindcss": "^3.0.19", 26 | "ui": "*" 27 | }, 28 | "devDependencies": { 29 | "@types/node": "17.0.16", 30 | "@types/react": "17.0.37", 31 | "@types/video.js": "^7.3.31", 32 | "next-transpile-modules": "9.0.0", 33 | "eslint": "7.32.0", 34 | "typescript": "4.5.5" 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /packages/ui/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ui", 3 | "version": "0.0.0", 4 | "main": "./index.tsx", 5 | "types": "./index.tsx", 6 | "license": "MIT", 7 | "scripts": { 8 | "lint": "eslint ./**/*.ts* --fix" 9 | }, 10 | "devDependencies": { 11 | "@types/react": "^17.0.37", 12 | "@types/react-dom": "^17.0.11", 13 | "autoprefixer": "^10.4.7", 14 | "config": "*", 15 | "eslint": "^7.32.0", 16 | "postcss": "^8.4.14", 17 | "tailwindcss": "^3.1.3", 18 | "typescript": "^4.5.2" 19 | }, 20 | "dependencies": { 21 | "@emotion/css": "^11.9.0", 22 | "@emotion/react": "^11.9.3", 23 | "@emotion/styled": "^11.9.3", 24 | "@headlessui/react": "^1.6.5", 25 | "@vime/core": "^5.3.1", 26 | "@vime/react": "^5.3.1", 27 | "axios": "^0.27.2", 28 | "change-case": "^4.1.2", 29 | "nanoid": "^4.0.0", 30 | "react": "17.0.2", 31 | "react-canvas-confetti": "^1.3.0", 32 | "react-icons": "^4.4.0", 33 | "react-toastify": "^9.0.5" 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /packages/server/utils/aws.ts: -------------------------------------------------------------------------------- 1 | // Copyright 2022 Pixelbyte Studio Pvt Ltd 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | import { S3 } from 'aws-sdk' 16 | import serverEnvs from './env' 17 | 18 | const s3 = new S3({ 19 | accessKeyId: serverEnvs.AWS_ACCESS_KEY_ID, 20 | secretAccessKey: serverEnvs.AWS_SECRET_ACCESS_KEY, 21 | }) 22 | 23 | // eslint-disable-next-line import/prefer-default-export 24 | export { s3 } 25 | -------------------------------------------------------------------------------- /apps/webfront/src/components/core/CoreLayout.tsx: -------------------------------------------------------------------------------- 1 | // Copyright 2022 Pixelbyte Studio Pvt Ltd 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | import Footer from './Footer' 16 | import Header from './Header' 17 | 18 | const CoreLayout = ({ children }: any) => ( 19 | <> 20 |
21 |
22 | {children} 23 |
24 |