-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit cff22c9
Showing
60 changed files
with
8,434 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
# Since the ".env" file is gitignored, you can use the ".env.example" file to | ||
# build a new ".env" file when you clone the repo. Keep this file up-to-date | ||
# when you add new variables to `.env`. | ||
|
||
# This file will be committed to version control, so make sure not to have any | ||
# secrets in it. If you are cloning this repo, create a copy of this file named | ||
# ".env" and populate it with your secrets. | ||
|
||
# When adding additional environment variables, the schema in "/src/env.mjs" | ||
# should be updated accordingly. | ||
|
||
# Prisma | ||
# https://www.prisma.io/docs/reference/database-reference/connection-urls#env | ||
DATABASE_URL="file:./db.sqlite" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
// eslint-disable-next-line @typescript-eslint/no-var-requires | ||
const path = require("path"); | ||
|
||
/** @type {import("eslint").Linter.Config} */ | ||
const config = { | ||
overrides: [ | ||
{ | ||
extends: [ | ||
"plugin:@typescript-eslint/recommended-requiring-type-checking", | ||
], | ||
files: ["*.ts", "*.tsx"], | ||
parserOptions: { | ||
project: path.join(__dirname, "tsconfig.json"), | ||
}, | ||
}, | ||
], | ||
parser: "@typescript-eslint/parser", | ||
parserOptions: { | ||
project: path.join(__dirname, "tsconfig.json"), | ||
}, | ||
plugins: ["@typescript-eslint"], | ||
extends: ["next/core-web-vitals", "plugin:@typescript-eslint/recommended"], | ||
rules: { | ||
"@typescript-eslint/consistent-type-imports": [ | ||
"warn", | ||
{ | ||
prefer: "type-imports", | ||
fixStyle: "inline-type-imports", | ||
}, | ||
], | ||
"react-hooks/rules-of-hooks": "off", | ||
"@typescript-eslint/no-non-null-assertion": "off", | ||
"@typescript-eslint/no-unused-vars": ["warn", { argsIgnorePattern: "^_" }], | ||
}, | ||
}; | ||
|
||
module.exports = config; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
name: CI | ||
|
||
on: [push, pull_request] | ||
|
||
env: | ||
DATABASE_URL: "https://fake.com" | ||
TWITCH_ACCESS_TOKEN: "hehe" | ||
TWITCH_CLIENT_ID: "<3" | ||
|
||
jobs: | ||
build: | ||
runs-on: ubuntu-latest | ||
|
||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v2 | ||
|
||
- name: Install Dependencies | ||
run: yarn | ||
|
||
- name: Typecheck | ||
run: yarn typecheck | ||
|
||
- name: Lint | ||
run: yarn lint |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. | ||
|
||
# dependencies | ||
/node_modules | ||
/.pnp | ||
.pnp.js | ||
|
||
# testing | ||
/coverage | ||
|
||
# database | ||
/prisma/db.sqlite | ||
/prisma/db.sqlite-journal | ||
|
||
# next.js | ||
/.next/ | ||
/out/ | ||
next-env.d.ts | ||
|
||
# production | ||
/build | ||
|
||
# misc | ||
.DS_Store | ||
*.pem | ||
|
||
# debug | ||
npm-debug.log* | ||
yarn-debug.log* | ||
yarn-error.log* | ||
.pnpm-debug.log* | ||
|
||
# local env files | ||
# do not commit any .env files to git, except for the .env.example file. https://create.t3.gg/en/usage/env-variables#using-environment-variables | ||
.env | ||
.env.* | ||
!.env.example | ||
|
||
# vercel | ||
.vercel | ||
|
||
# typescript | ||
*.tsbuildinfo | ||
|
||
.vercel | ||
|
||
# Sentry Auth Token | ||
.sentryclirc |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
{ | ||
"discord.enabled": true, | ||
"codesnap.shutterAction": "copy" | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
# Everly | ||
|
||
[Everly](https://everly.sh) is a whitelabel serverless YouTube and Twitch notification bot, for $10 / lifetime | ||
|
||
## Why open source it if it's paid? | ||
|
||
Because open source software is awesome. I understand people will be able to host their own instances, and thus will reduce funding towards me, but that's okay. Payment of Everly is purely to support my development efforts, as the costs to actually run it are close to nothing; so nothing is lost due to the cause of this open-source nature. | ||
|
||
## Contributing | ||
|
||
At this stage, Everly is pretty much finished. There's nothing currently planned, and there's no major bugs. But if you think of anything, feel free to make an issue! | ||
|
||
## Tech | ||
|
||
Everly is built on the [T3 Stack](https://create.t3.gg/en/introduction#the-t3-stack) which is aimed to allow developers to move as fast as possible. | ||
|
||
## License | ||
|
||
As of right now, Everly isn't licensed. This means you're not allowed to do anything with the code itself. It's open sourced for contributions and visibility. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,60 @@ | ||
import {withSentryConfig} from "@sentry/nextjs"; | ||
/** | ||
* Run `build` or `dev` with `SKIP_ENV_VALIDATION` to skip env validation. This is especially useful | ||
* for Docker builds. | ||
*/ | ||
await import("./src/env.mjs"); | ||
|
||
/** @type {import("next").NextConfig} */ | ||
const config = { | ||
reactStrictMode: true, | ||
|
||
/** | ||
* If you have `experimental: { appDir: true }` set, then you must comment the below `i18n` config | ||
* out. | ||
* | ||
* @see https://github.com/vercel/next.js/issues/41980 | ||
*/ | ||
i18n: { | ||
locales: ["en"], | ||
defaultLocale: "en", | ||
}, | ||
typescript: { | ||
ignoreBuildErrors: true, | ||
}, | ||
eslint: { | ||
ignoreDuringBuilds: true, | ||
}, | ||
swcMinify: true, | ||
images: { | ||
domains: ["yt3.googleusercontent.com", "static-cdn.jtvnw.net"], | ||
}, | ||
}; | ||
export default withSentryConfig(config, { | ||
// For all available options, see: | ||
// https://github.com/getsentry/sentry-webpack-plugin#options | ||
|
||
// Suppresses source map uploading logs during build | ||
silent: true, | ||
|
||
org: "astridx", | ||
project: "everly", | ||
}, { | ||
// For all available options, see: | ||
// https://docs.sentry.io/platforms/javascript/guides/nextjs/manual-setup/ | ||
|
||
// Upload a larger set of source maps for prettier stack traces (increases build time) | ||
widenClientFileUpload: true, | ||
|
||
// Transpiles SDK to be compatible with IE11 (increases bundle size) | ||
transpileClientSDK: true, | ||
|
||
// Routes browser requests to Sentry through a Next.js rewrite to circumvent ad-blockers (increases server load) | ||
tunnelRoute: "/monitoring", | ||
|
||
// Hides source maps from generated client bundles | ||
hideSourceMaps: true, | ||
|
||
// Automatically tree-shake Sentry logger statements to reduce bundle size | ||
disableLogger: true, | ||
}); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,66 @@ | ||
{ | ||
"name": "everly", | ||
"version": "1.0.0", | ||
"private": true, | ||
"license": "All Rights Reserved", | ||
"scripts": { | ||
"build": "next build", | ||
"dev": "next dev", | ||
"postinstall": "prisma generate", | ||
"lint": "next lint", | ||
"start": "next start", | ||
"typecheck": "tsc --noEmit" | ||
}, | ||
"dependencies": { | ||
"@clerk/nextjs": "^4.20.0", | ||
"@clerk/themes": "^1.7.4", | ||
"@discordjs/builders": "^1.6.3", | ||
"@prisma/client": "^4.14.0", | ||
"@sentry/nextjs": "^7.54.0", | ||
"@skyra/discord-components-react": "^3.6.0", | ||
"@t3-oss/env-nextjs": "^0.3.1", | ||
"@tailwindcss/typography": "^0.5.9", | ||
"@tanstack/react-query": "^4.29.7", | ||
"@trpc/client": "^10.26.0", | ||
"@trpc/next": "^10.26.0", | ||
"@trpc/react-query": "^10.26.0", | ||
"@trpc/server": "^10.26.0", | ||
"@vercel/analytics": "^1.0.1", | ||
"axios": "^1.4.0", | ||
"daisyui": "^3.0.3", | ||
"dayjs": "^1.11.8", | ||
"discord-api-types": "^0.37.43", | ||
"discord-permission": "^1.0.4", | ||
"micro": "^10.0.1", | ||
"next": "^13.4.2", | ||
"react": "18.2.0", | ||
"react-dom": "18.2.0", | ||
"react-hook-form": "^7.44.3", | ||
"react-hot-toast": "^2.4.1", | ||
"sharp": "^0.32.1", | ||
"superjson": "1.12.2", | ||
"svix": "^1.4.12", | ||
"zod": "^3.21.4" | ||
}, | ||
"devDependencies": { | ||
"@types/eslint": "^8.37.0", | ||
"@types/node": "^18.16.0", | ||
"@types/prettier": "^2.7.2", | ||
"@types/react": "^18.2.6", | ||
"@types/react-dom": "^18.2.4", | ||
"@typescript-eslint/eslint-plugin": "^5.59.6", | ||
"@typescript-eslint/parser": "^5.59.6", | ||
"autoprefixer": "^10.4.14", | ||
"eslint": "^8.40.0", | ||
"eslint-config-next": "^13.4.2", | ||
"postcss": "^8.4.21", | ||
"prettier": "^2.8.8", | ||
"prettier-plugin-tailwindcss": "^0.2.8", | ||
"prisma": "^4.14.0", | ||
"tailwindcss": "^3.3.0", | ||
"typescript": "^5.0.4" | ||
}, | ||
"ct3aMetadata": { | ||
"initVersion": "7.13.1" | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
const config = { | ||
plugins: { | ||
tailwindcss: {}, | ||
autoprefixer: {}, | ||
}, | ||
}; | ||
|
||
module.exports = config; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
/** @type {import("prettier").Config} */ | ||
const config = { | ||
plugins: [require.resolve("prettier-plugin-tailwindcss")], | ||
}; | ||
|
||
module.exports = config; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
generator client { | ||
provider = "prisma-client-js" | ||
previewFeatures = ["jsonProtocol"] | ||
binaryTargets = ["native", "linux-musl-openssl-3.0.x"] | ||
} | ||
|
||
datasource db { | ||
provider = "mysql" | ||
url = env("DATABASE_URL") | ||
relationMode = "prisma" | ||
} | ||
|
||
model Example { | ||
id String @id @default(cuid()) | ||
createdAt DateTime @default(now()) | ||
updatedAt DateTime @updatedAt | ||
} | ||
|
||
model Announcements { | ||
id String @id @default(cuid()) | ||
announced Boolean @default(false) | ||
instanceId String | ||
videoId String | ||
Instance Instance @relation(fields: [instanceId], references: [id]) | ||
} | ||
|
||
model Instance { | ||
id String @id @default(cuid()) | ||
createdAt DateTime @default(now()) | ||
type String | ||
name String | ||
automation Boolean @default(true) | ||
botToken String | ||
serverId String | ||
channelId String | ||
accountId String | ||
accountPfp String | ||
managers String | ||
announcementMsg String @db.Text @default("{\"content\": \"%username% just uploaded!\\n%link%\"}") | ||
Announcements Announcements[] | ||
} | ||
|
||
model Whitelisted { | ||
discordId String @id | ||
whitelisted Boolean @default(true) | ||
whitelistedAt DateTime @default(now()) | ||
} |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
// This file configures the initialization of Sentry on the client. | ||
// The config you add here will be used whenever a users loads a page in their browser. | ||
// https://docs.sentry.io/platforms/javascript/guides/nextjs/ | ||
|
||
import * as Sentry from "@sentry/nextjs"; | ||
|
||
Sentry.init({ | ||
dsn: "https://248afdfbb275470badee948cff9ed808@o4504994195439616.ingest.sentry.io/4505347492806656", | ||
|
||
// Adjust this value in production, or use tracesSampler for greater control | ||
tracesSampleRate: 1, | ||
|
||
// Setting this option to true will print useful information to the console while you're setting up Sentry. | ||
debug: false, | ||
|
||
replaysOnErrorSampleRate: 1.0, | ||
|
||
// This sets the sample rate to be 10%. You may want this to be 100% while | ||
// in development and sample at a lower rate in production | ||
replaysSessionSampleRate: 0.1, | ||
|
||
// You can remove this option if you're not planning to use the Sentry Session Replay feature: | ||
integrations: [ | ||
new Sentry.Replay({ | ||
// Additional Replay configuration goes in here, for example: | ||
maskAllText: true, | ||
blockAllMedia: true, | ||
}), | ||
], | ||
}); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
// This file configures the initialization of Sentry for edge features (middleware, edge routes, and so on). | ||
// The config you add here will be used whenever one of the edge features is loaded. | ||
// Note that this config is unrelated to the Vercel Edge Runtime and is also required when running locally. | ||
// https://docs.sentry.io/platforms/javascript/guides/nextjs/ | ||
|
||
import * as Sentry from "@sentry/nextjs"; | ||
|
||
Sentry.init({ | ||
dsn: "https://248afdfbb275470badee948cff9ed808@o4504994195439616.ingest.sentry.io/4505347492806656", | ||
|
||
// Adjust this value in production, or use tracesSampler for greater control | ||
tracesSampleRate: 1, | ||
|
||
// Setting this option to true will print useful information to the console while you're setting up Sentry. | ||
debug: false, | ||
}); |
Oops, something went wrong.
cff22c9
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Successfully deployed to the following URLs:
everly-sh – ./
everly-sh-git-main-astridx.vercel.app
everly.sh
everly-sh.vercel.app
beta.everly.sh
everly-sh-astridx.vercel.app
www.everly.sh