Note Keeper is a modern and intuitive note-taking application that leverages the power of Artificial Intelligence to enhance your note-taking experience. Built with a focus on simplicity and functionality, it allows you to effortlessly create, organize, and access your notes. Key features include:
- Markdown Support: Write and format your notes with ease using familiar Markdown syntax.
- Image Integration: Embed images directly into your notes to add visual context.
- AI-Powered Chatbot: Ask questions about your notes and receive intelligent answers powered by a simple Retrieval-Augmented Generation (RAG) implementation.
- Seamless Organization: Keep your thoughts organized with a clean and user-friendly interface.
- Frontend: Next.js
- Backend & Database: Supabase
- Vector Database: Pinecone
- Large Language Model: Google Gemini
To run Note Keeper locally, follow these steps:
-
Clone the repository:
git clone https://github.com/iSubhamMani/note-keeper.git cd note-keeper -
Install dependencies:
npm install # or yarn install # or pnpm install
-
Set up environment variables: Create a
.env.localfile in the root directory and add the following environment variables. You will need to obtain these credentials from the respective services:NEXT_PUBLIC_SUPABASE_URL = "" NEXT_PUBLIC_SUPABASE_KEY = "" GOOGLE_CLIENT_ID = "" GOOGLE_CLIENT_SECRET="" NEXT_AUTH_SECRET = "" PINECONE_KEY = "" GOOGLE_AI_KEY = "" PINECONE_INDEX = "" CLOUDINARY_API_KEY = "" CLOUDINARY_SECRET = "" NEXT_PUBLIC_CLOUDINARY_CLOUD_NAME = ""
-
Initialize Supabase and Pinecone:
- Set up your Supabase project and create the necessary database tables (e.g., for notes and users).
- Create a Pinecone index to store the embeddings of your notes.
-
Run the development server:
npm run dev # or yarn dev # or pnpm dev
Open your browser and navigate to
http://localhost:3000.