Code Monkey home page Code Monkey logo

dheerajcl / ignite Goto Github PK

View Code? Open in Web Editor NEW
2.0 1.0 0.0 35.58 MB

Pdf reader app designed to Revolutionise your Learning Experience, with Note taking, Annotations, collaboration, LLM integration, Flashcards generation (w. feedbacks)!

Home Page: https://igniteit.vercel.app

TypeScript 97.68% JavaScript 1.06% CSS 1.24% HTML 0.02%
blocknote fireworks langchain liveblocks next-auth nextjs pinecone prisma-orm reactjs supabase tailwindcss trpc typescript uploadthing

ignite's Introduction

Built using

  • Nextjs Frontend and Serverless api routes
  • tRPC For typesafe apis
  • Zod For validation
  • Typescript For type safety
  • Tailwind CSS For CSS
  • React Query for data fetching
  • React Hook Form for form handling
  • Shadcn UI + Radix UI For UI components
  • Supabase As the database
  • Prisma As the ORM
  • Blocknote for note taking
  • Uploadthing for storing pdfs
  • Next Auth for authentication
  • React-pdf-highlighter for pdf rendering,highlighting
  • Vercel AI SDK, Langchain for AI responses and streaming, generating flashcards + evaluating them
  • Pinecone DB for storing embeddings of pdfs
  • Fireworks AI for LLM
  • Huggingface Model for generating Embeddings
  • Liveblocks for realtime collaboration

Features:

  • Note taking, later download the note as markdown
  • Summarise, ask questions about the PDFs
  • Chat and collab with others
  • Custom blocks in editor
  • Highlights block which on click takes you to that highlight on the doc.
  • AI-powered text autocompletion
  • Craft simple flashcards to test your knowledge, answer questions, and receive instant feedback through AI evaluation.

๐Ÿงฐ Getting Started

  1. Make sure Git and NodeJS is installed.
  2. Clone this repository to your local computer.
  3. Create .env file in root directory.
  4. Contents of .env:
# .env

DATABASE_URL=postgres://postgres.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.supabase.com:5432/postgres     #visit Supabase

NEXTAUTH_SECRET=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
NEXTAUTH_URL=http://localhost:3000    #or  url

GOOGLE_CLIENT_ID=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
GOOGLE_CLIENT_SECRET=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

NODE_ENV=development

UPLOADTHING_SECRET=sk_live_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx
UPLOADTHING_APP_ID=XXXXXXXXXX

OPENAI_API_KEY=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX           #Fireworks API not openai

PINECONE_API_KEY=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

HUGGINGFACE_API_KEY=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

NEXT_PUBLIC_LIVEBLOCKS_PUBLIC_API_KEY=pk_prod_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX       #visit Liveblocks

Pinecone Setting up guide

  • Create index => Dimensions = 768, Metric = Cosine.

You can get your Google Client ID and secret from the Google API Console.

Run npm install or pnpm install or yarn to install your node_modules

Now app is fully configured ๐Ÿ‘ and you can start using this app using either one of npm run dev or yarn dev or pnpm dev.

And make sure to push your db to prisma npx prisma db push before starting.

NOTE: Please make sure to keep your API keys and configuration values secure and do not expose them publicly.

โš™๏ธ Tech Stack

React JS Next JS Typescript Tailwind CSS Vercel Postgresql

ignite's People

Contributors

dheerajcl avatar

Stargazers

 avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.