Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/yaroslavchuiko/threatchecker
ThreatChecker is a free website security scanner
https://github.com/yaroslavchuiko/threatchecker
nextauth nextjs prisma react reactquery t3-stack tailwindcss trpc typescript vercel zod
Last synced: 3 months ago
JSON representation
ThreatChecker is a free website security scanner
- Host: GitHub
- URL: https://github.com/yaroslavchuiko/threatchecker
- Owner: YaroslavChuiko
- Created: 2024-01-08T12:44:25.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-09-09T10:58:55.000Z (4 months ago)
- Last Synced: 2024-10-10T01:43:55.172Z (3 months ago)
- Topics: nextauth, nextjs, prisma, react, reactquery, t3-stack, tailwindcss, trpc, typescript, vercel, zod
- Language: TypeScript
- Homepage: https://threat-checker.vercel.app
- Size: 257 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
ThreatChecker
ThreatChecker is a free website security scanner. Remote scanners have limited access and results are not guaranteed.
## About
This is a [T3 Stack](https://create.t3.gg/) project bootstrapped with `create-t3-app`.
A chat application, written in Next.js, with the use of tRPC, NextAuth.js, Tailwind CSS, Prisma.
## Setup & Run
Prior to setup, create an `.env` file based on the `.env.example`.
Then proceed:1. `pnpm install`
2. Create PostgreSQL database and add [connection url](https://www.prisma.io/docs/reference/database-reference/connection-urls#env) as value for `DATABASE_URL`
3. `npx prisma db push`
4. Generate a secret value for `NEXTAUTH_SECRET`. You can generate a new secret on the command line with: `openssl rand -base64 32`
5. Create a [Google OAuth App](https://console.developers.google.com/apis/credentials) and add values for `GOOGLE_CLIENT_ID` and `GOOGLE_CLIENT_SECRET`
6. Create a [Discord OAuth App](https://create.t3.gg/en/usage/next-auth#setting-up-the-default-discordprovider) and add values for `DISCORD_CLIENT_ID` and `DISCORD_CLIENT_SECRET`
7. Create a [GitHub OAuth App](https://docs.github.com/en/apps/oauth-apps/building-oauth-apps/creating-an-oauth-app). Make sure to set Authorization callback URL to http://localhost:3000/api/auth/callback/github. After that add values for `GITHUB_CLIENT_ID` and `GITHUB_CLIENT_SECRET`
8. Create [Mailtrap account](https://mailtrap.io/) and add values for `EMAIL_SERVER_USER`, `EMAIL_SERVER_PASSWORD`, `EMAIL_SERVER_HOST`, `EMAIL_SERVER_PORT`, `EMAIL_FROM`
9. Create [VirusTotal account](https://www.virustotal.com/) and add values for `VIRUS_TOTAL_API_KEY`
10. `npx prisma db seed`
11. `pnpm run dev`
## Deployment diagram
![deployment-diagram](https://github.com/YaroslavChuiko/threatChecker/assets/32570823/9deea909-e62f-4c40-88cd-c3e23400b0b4)
## Entity-relationship diagram
![Entity-relationship diagram](https://github.com/YaroslavChuiko/threatChecker/assets/32570823/a7a9e145-0e2e-46a3-8d80-c3fcbc902d16)
## Snapshots
### Sign in
![image](https://github.com/YaroslavChuiko/threatChecker/assets/32570823/3e911f80-3dbe-4a96-8737-d9ff7f009d72)
![image](https://github.com/YaroslavChuiko/threatChecker/assets/32570823/5129130b-5411-42c6-a6b6-6ce338ed550e)
### Home
![image](https://github.com/YaroslavChuiko/threatChecker/assets/32570823/247d1905-fa57-468b-97e1-b868eddc5565)
### Results
![image](https://github.com/YaroslavChuiko/threatChecker/assets/32570823/89033d5f-cb90-4f4e-9ecd-4beb9808ba31)
![image](https://github.com/YaroslavChuiko/threatChecker/assets/32570823/c61913bc-e85f-44cd-8868-45401886e1f3)
### Statistics
![image](https://github.com/YaroslavChuiko/threatChecker/assets/32570823/8d6fc59b-01e2-44c2-91f1-b1742e3d332c)