From 6ba4f7485fe6ff3cf9e799582b6e3cec108a4781 Mon Sep 17 00:00:00 2001
From: Bhav Kushwaha <75977991+bhavkushwaha@users.noreply.github.com>
Date: Sat, 28 Sep 2024 14:13:07 +0530
Subject: [PATCH] Project Folder Submission
---
EduBuddy/.eslintrc.json | 3 +
EduBuddy/.gitignore | 37 +
EduBuddy/README.md | 110 +
.../(routes)/sign-in/[[...sign-in]]/page.tsx | 5 +
.../(routes)/sign-up/[[...sign-up]]/page.tsx | 5 +
EduBuddy/app/(auth)/layout.tsx | 13 +
.../(dashboard)/(routes)/code/constants.ts | 7 +
.../app/(dashboard)/(routes)/code/page.tsx | 157 +
.../(routes)/conversation/constants.ts | 7 +
.../(routes)/conversation/page.tsx | 157 +
.../(dashboard)/(routes)/dashboard/page.tsx | 81 +
.../(routes)/flashcards/constants.ts | 6 +
.../(dashboard)/(routes)/flashcards/page.tsx | 103 +
.../(dashboard)/(routes)/quiz/constants.ts | 7 +
.../app/(dashboard)/(routes)/quiz/page.tsx | 157 +
EduBuddy/app/(dashboard)/layout.tsx | 21 +
EduBuddy/app/(landing)/layout.tsx | 9 +
EduBuddy/app/(landing)/page.tsx | 13 +
EduBuddy/app/api/code/route.ts | 57 +
EduBuddy/app/api/conversation/route.ts | 57 +
EduBuddy/app/api/flashcards/route.ts | 59 +
EduBuddy/app/api/quiz/route.ts | 57 +
EduBuddy/app/fonts/GeistMonoVF.woff | Bin 0 -> 67864 bytes
EduBuddy/app/fonts/GeistVF.woff | Bin 0 -> 66268 bytes
EduBuddy/app/globals.css | 83 +
EduBuddy/app/layout.tsx | 31 +
EduBuddy/components.json | 20 +
EduBuddy/components/bot-avatar.tsx | 9 +
EduBuddy/components/crisp-chat.tsx | 12 +
EduBuddy/components/crisp-provider.tsx | 7 +
EduBuddy/components/empty.tsx | 16 +
EduBuddy/components/free-counter.tsx | 53 +
EduBuddy/components/heading.tsx | 30 +
EduBuddy/components/landing-hero.tsx | 47 +
EduBuddy/components/landing-navbar.tsx | 37 +
EduBuddy/components/loader.tsx | 12 +
EduBuddy/components/mobile-sidebar.tsx | 39 +
EduBuddy/components/modal-provider.tsx | 22 +
EduBuddy/components/navbar.tsx | 19 +
EduBuddy/components/pro-modal.tsx | 93 +
EduBuddy/components/sidebar.tsx | 98 +
EduBuddy/components/ui/avatar.tsx | 50 +
EduBuddy/components/ui/badge.tsx | 38 +
EduBuddy/components/ui/button.tsx | 57 +
EduBuddy/components/ui/card.tsx | 79 +
EduBuddy/components/ui/dialog.tsx | 122 +
EduBuddy/components/ui/form.tsx | 178 +
EduBuddy/components/ui/input.tsx | 25 +
EduBuddy/components/ui/label.tsx | 26 +
EduBuddy/components/ui/progress.tsx | 28 +
EduBuddy/components/ui/select.tsx | 160 +
EduBuddy/components/ui/sheet.tsx | 140 +
EduBuddy/components/user-avatar.tsx | 16 +
EduBuddy/constants.ts | 1 +
EduBuddy/hooks/use-pro-modal.tsx | 13 +
EduBuddy/lib/api-limit.ts | 75 +
EduBuddy/lib/prismadb.ts | 11 +
EduBuddy/lib/utils.ts | 6 +
EduBuddy/middleware.ts | 19 +
EduBuddy/next.config.mjs | 9 +
EduBuddy/package-lock.json | 7965 +++++++++++++++++
EduBuddy/package.json | 51 +
EduBuddy/postcss.config.mjs | 8 +
EduBuddy/prisma/schema.prisma | 31 +
EduBuddy/public/empty.png | Bin 0 -> 444795 bytes
EduBuddy/public/favicon.ico | Bin 0 -> 192067 bytes
EduBuddy/public/logo.png | Bin 0 -> 81987 bytes
EduBuddy/public/manifest.json | 21 +
EduBuddy/public/next.svg | 1 +
EduBuddy/public/site.webmanifest | 1 +
EduBuddy/public/vercel.svg | 1 +
EduBuddy/tailwind.config.ts | 63 +
EduBuddy/tsconfig.json | 26 +
73 files changed, 10977 insertions(+)
create mode 100644 EduBuddy/.eslintrc.json
create mode 100644 EduBuddy/.gitignore
create mode 100644 EduBuddy/README.md
create mode 100644 EduBuddy/app/(auth)/(routes)/sign-in/[[...sign-in]]/page.tsx
create mode 100644 EduBuddy/app/(auth)/(routes)/sign-up/[[...sign-up]]/page.tsx
create mode 100644 EduBuddy/app/(auth)/layout.tsx
create mode 100644 EduBuddy/app/(dashboard)/(routes)/code/constants.ts
create mode 100644 EduBuddy/app/(dashboard)/(routes)/code/page.tsx
create mode 100644 EduBuddy/app/(dashboard)/(routes)/conversation/constants.ts
create mode 100644 EduBuddy/app/(dashboard)/(routes)/conversation/page.tsx
create mode 100644 EduBuddy/app/(dashboard)/(routes)/dashboard/page.tsx
create mode 100644 EduBuddy/app/(dashboard)/(routes)/flashcards/constants.ts
create mode 100644 EduBuddy/app/(dashboard)/(routes)/flashcards/page.tsx
create mode 100644 EduBuddy/app/(dashboard)/(routes)/quiz/constants.ts
create mode 100644 EduBuddy/app/(dashboard)/(routes)/quiz/page.tsx
create mode 100644 EduBuddy/app/(dashboard)/layout.tsx
create mode 100644 EduBuddy/app/(landing)/layout.tsx
create mode 100644 EduBuddy/app/(landing)/page.tsx
create mode 100644 EduBuddy/app/api/code/route.ts
create mode 100644 EduBuddy/app/api/conversation/route.ts
create mode 100644 EduBuddy/app/api/flashcards/route.ts
create mode 100644 EduBuddy/app/api/quiz/route.ts
create mode 100644 EduBuddy/app/fonts/GeistMonoVF.woff
create mode 100644 EduBuddy/app/fonts/GeistVF.woff
create mode 100644 EduBuddy/app/globals.css
create mode 100644 EduBuddy/app/layout.tsx
create mode 100644 EduBuddy/components.json
create mode 100644 EduBuddy/components/bot-avatar.tsx
create mode 100644 EduBuddy/components/crisp-chat.tsx
create mode 100644 EduBuddy/components/crisp-provider.tsx
create mode 100644 EduBuddy/components/empty.tsx
create mode 100644 EduBuddy/components/free-counter.tsx
create mode 100644 EduBuddy/components/heading.tsx
create mode 100644 EduBuddy/components/landing-hero.tsx
create mode 100644 EduBuddy/components/landing-navbar.tsx
create mode 100644 EduBuddy/components/loader.tsx
create mode 100644 EduBuddy/components/mobile-sidebar.tsx
create mode 100644 EduBuddy/components/modal-provider.tsx
create mode 100644 EduBuddy/components/navbar.tsx
create mode 100644 EduBuddy/components/pro-modal.tsx
create mode 100644 EduBuddy/components/sidebar.tsx
create mode 100644 EduBuddy/components/ui/avatar.tsx
create mode 100644 EduBuddy/components/ui/badge.tsx
create mode 100644 EduBuddy/components/ui/button.tsx
create mode 100644 EduBuddy/components/ui/card.tsx
create mode 100644 EduBuddy/components/ui/dialog.tsx
create mode 100644 EduBuddy/components/ui/form.tsx
create mode 100644 EduBuddy/components/ui/input.tsx
create mode 100644 EduBuddy/components/ui/label.tsx
create mode 100644 EduBuddy/components/ui/progress.tsx
create mode 100644 EduBuddy/components/ui/select.tsx
create mode 100644 EduBuddy/components/ui/sheet.tsx
create mode 100644 EduBuddy/components/user-avatar.tsx
create mode 100644 EduBuddy/constants.ts
create mode 100644 EduBuddy/hooks/use-pro-modal.tsx
create mode 100644 EduBuddy/lib/api-limit.ts
create mode 100644 EduBuddy/lib/prismadb.ts
create mode 100644 EduBuddy/lib/utils.ts
create mode 100644 EduBuddy/middleware.ts
create mode 100644 EduBuddy/next.config.mjs
create mode 100644 EduBuddy/package-lock.json
create mode 100644 EduBuddy/package.json
create mode 100644 EduBuddy/postcss.config.mjs
create mode 100644 EduBuddy/prisma/schema.prisma
create mode 100644 EduBuddy/public/empty.png
create mode 100644 EduBuddy/public/favicon.ico
create mode 100644 EduBuddy/public/logo.png
create mode 100644 EduBuddy/public/manifest.json
create mode 100644 EduBuddy/public/next.svg
create mode 100644 EduBuddy/public/site.webmanifest
create mode 100644 EduBuddy/public/vercel.svg
create mode 100644 EduBuddy/tailwind.config.ts
create mode 100644 EduBuddy/tsconfig.json
diff --git a/EduBuddy/.eslintrc.json b/EduBuddy/.eslintrc.json
new file mode 100644
index 0000000..957cd15
--- /dev/null
+++ b/EduBuddy/.eslintrc.json
@@ -0,0 +1,3 @@
+{
+ "extends": ["next/core-web-vitals"]
+}
diff --git a/EduBuddy/.gitignore b/EduBuddy/.gitignore
new file mode 100644
index 0000000..00bba9b
--- /dev/null
+++ b/EduBuddy/.gitignore
@@ -0,0 +1,37 @@
+# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
+
+# dependencies
+/node_modules
+/.pnp
+.pnp.js
+.yarn/install-state.gz
+
+# testing
+/coverage
+
+# next.js
+/.next/
+/out/
+
+# production
+/build
+
+# misc
+.DS_Store
+*.pem
+
+# debug
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+
+# local env files
+.env*.local
+.env
+
+# vercel
+.vercel
+
+# typescript
+*.tsbuildinfo
+next-env.d.ts
diff --git a/EduBuddy/README.md b/EduBuddy/README.md
new file mode 100644
index 0000000..521c8c3
--- /dev/null
+++ b/EduBuddy/README.md
@@ -0,0 +1,110 @@
+# EduBuddy
+
+*EduBuddy* is an AI-powered learning companion designed to enhance the study experience by providing personalized learning support for students of all levels. The platform leverages AI to deliver interactive educational tools that help students excel in their academic journey.
+
+## Features
+
+EduBuddy offers a comprehensive suite of learning tools:
+
+- *Doubt Solving*: Ask questions and receive clear explanations from AI.
+- *Flashcards*: Generate custom flashcards to aid memorization and revision.
+- *Quiz Generation*: Create personalized quizzes to test knowledge.
+- *Code Generation*: Get code snippets and explanations for various programming topics.
+
+## Getting Started
+
+These instructions will help you set up EduBuddy on your local machine for development and testing.
+
+### Prerequisites
+
+Make sure you have the following installed:
+
+- [Node.js](https://nodejs.org/) (v14 or higher)
+- [npm](https://www.npmjs.com/) or [Yarn](https://yarnpkg.com/)
+
+## Installation
+
+1. Clone the repository:
+
+ bash
+ git clone https://github.com/bhavkushwaha/EduBuddy
+
+
+2. Navigate into the project directory:
+
+ bash
+ cd EduBuddy
+
+
+3. Install dependencies:
+
+ bash
+ npm install
+
+
+4. (Optional) Set up the database and configure environment variables:
+
+ Create a .env file in the root directory with the following variables:
+
+
+ # Example .env file
+
+ ```
+
+ DB_HOST=localhost
+ DB_PORT=5432
+ DB_USER=your-username
+ DATABASE_URL=your-url
+
+ NEXT_PUBLIC_CLERK_SIGN_IN_URL=/sign-in
+ NEXT_PUBLIC_CLERK_SIGN_UP_URL=/sign-up
+ NEXT_PUBLIC_CLERK_AFTER_SIGN_IN_URL=/dashboard
+ NEXT_PUBLIC_CLERK_AFTER_SIGN_UP_URL=/dashboard
+
+ NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY = "your_key"
+ CLERK_SECRET_KEY = "your_key"
+
+ ```
+
+
+## Usage
+
+1. Start the development server:
+
+ bash
+ npm run dev
+
+
+2. Open your browser and navigate to:
+
+
+ http://localhost:3000
+
+
+3. To create a production build:
+
+ bash
+ npm run build
+
+
+
+## Configuration
+
+EduBuddy requires certain environment variables to be set for database connections and API key integration:
+
+- **Database Configuration**: Modify the `.env` file as needed.
+- **API Keys**: If using third-party APIs for quiz generation or code snippets, add them in the `.env` file (we used OpenAI )
+
+ ```
+
+ OPENAI_API_KEY=your-openai-api-key
+
+ ```
+
+## Scripts/Commands
+
+The project includes several scripts to streamline development and deployment:
+
+- npm start: Starts the server in production mode.
+- npm run dev: Starts the server in development mode with hot-reloading.
+- npm run build: Builds the project for production.
\ No newline at end of file
diff --git a/EduBuddy/app/(auth)/(routes)/sign-in/[[...sign-in]]/page.tsx b/EduBuddy/app/(auth)/(routes)/sign-in/[[...sign-in]]/page.tsx
new file mode 100644
index 0000000..5ee3fe3
--- /dev/null
+++ b/EduBuddy/app/(auth)/(routes)/sign-in/[[...sign-in]]/page.tsx
@@ -0,0 +1,5 @@
+import { SignIn } from "@clerk/nextjs";
+
+export default function Page() {
+ return
+ ),
+ }}
+ className="text-sm overflow-hidden leading-7"
+ >
+ {String(message.content) || ""}
+
+ ),
+ }}
+ className="text-sm overflow-hidden leading-7"
+ >
+ {String(message.content) || ""}
+ + Chat with the smartest AI - Resolve your queries! +
+ +{flashcard.content}
{/* Content is the response */} +
+ ),
+ }}
+ className="text-sm overflow-hidden leading-7"
+ >
+ {String(message.content) || ""}
+ F+h1{YrQx-{HFin8WzZefO{l
z8cNaM;e7wxPv4B1qdM6*FoUE$-f@ij7-F@R
z<>#H5`3B+f=oWr9JZTL7Z{APZfW5v-+aMO7e%ivNM-W#S?|Fvcyr?2@iI$Su+QJ(8
zq)JjtA!jdwfSsSQtWg8*n1W0cSx?;@IDH_LVuf6GBSq35qz-=rbdpafaqtpmaJkD6
z)FU4N`0$>ky=urSXvZ>Z5+CCcp%Qe6LH@W8PboCmKYhoNq&VNN*NI8s81-U1K1&Kf
1f*wx}hVjrJs18=Pv$yWBLbvBXw>nybvCzqLC
zIvrQL3rJLYh8-HK9rX@x*;aZ$M_Xqe$PWEobiHM
zan!Ew`Cb1ABg@_`z-Ti_x(?)N#Fhiceb
tp=V}l-z?vC)@kC-s+%JI1P#~bf$KDO`$vf}7^LX#oSNGO%
zv6_DM)wE`5!s1Ofg{yIVE#ka560*R``{G46$wkppZujx-)-gzk