Skip to content

A place where one can add note and can get a detail description of that using AI

License

Notifications You must be signed in to change notification settings

ksamrat224/Memora

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

83 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Memora

A modern, AI-powered note-taking application that helps you create, organize, and understand your notes better.

Your digital notebook, enhanced with intelligence.

License GitHub stars GitHub forks GitHub issues GitHub pull requests GitHub last commit

TypeScript Next.js Prisma Supabase OpenAI Tailwind CSS


πŸ“Έ Screenshots

Light Mode

Light Mode Interface

Note Management

Dark Mode Interface

Dark Mode

AI Chat Feature

AI Chat Assistant

Note Management


🧠 About

Goat Notes is a full-stack note-taking application built with Next.js 16, TypeScript, and Supabase. It combines a beautiful, responsive UI with powerful AI capabilities to help you manage your notes more effectively.

The standout feature is the AI-powered chat assistant that can answer questions about your notes, helping you quickly find information and gain insights from your stored content.


✨ Features

πŸ“ Note Management

  • Create Notes – Instantly create new notes with a single click
  • Auto-Save – Notes are automatically saved as you type (debounced updates)
  • Delete Notes – Remove notes with a confirmation dialog to prevent accidents
  • Note Organization – All notes are organized in a collapsible sidebar

πŸ€– AI-Powered Assistant

  • Ask AI About Your Notes – Chat with an AI that has context of all your notes
  • Conversational Interface – Multi-turn conversations with memory
  • Smart Responses – Get formatted HTML responses with proper structure
  • Powered by GPT-4o-mini – Fast and intelligent responses

πŸ” Authentication

  • Secure Sign-Up/Login – Email and password authentication via Supabase
  • Protected Routes – Middleware protection for authenticated routes
  • Session Management – Persistent sessions with automatic refresh

🎨 Modern UI/UX

  • Dark/Light Mode – Toggle between themes or follow system preference
  • Responsive Design – Works seamlessly on desktop, tablet, and mobile
  • Radix UI Components – Accessible, high-quality UI primitives
  • Tailwind CSS – Utility-first styling with custom design system
  • Toast Notifications – User-friendly feedback for all actions

⚑ Performance

  • Next.js App Router – Latest Next.js features with server components
  • Turbopack – Lightning-fast development builds
  • Optimistic Updates – Instant UI feedback
  • Edge-Ready Middleware – Fast authentication checks

πŸ› οΈ Tech Stack

Category Technology
Framework Next.js 16 (App Router)
Language TypeScript
Styling Tailwind CSS v4
UI Components Radix UI, shadcn/ui
Database PostgreSQL (Supabase)
ORM Prisma
Authentication Supabase Auth
AI OpenAI GPT-4o-mini
State Management React Context + Hooks
Deployment Vercel

πŸš€ Quick Start

Get started in 3 simple steps:

# Clone the repository
git clone https://github.com/ksamrat224/Note-Taker.git
cd Note-Taker

# Install dependencies
npm install

# Start development server
npm run dev

πŸ“¦ Installation

Prerequisites

  • Node.js 18+ and npm
  • Git
  • Supabase account (free tier works)
  • OpenAI API key

Setup Steps

  1. Clone the repository

    git clone https://github.com/ksamrat224/Note-Taker.git
    cd Note-Taker
  2. Install dependencies

    npm install
  3. Set up environment variables

    Create a .env.local file in the root directory:

    # Database (Supabase PostgreSQL)
    DATABASE_URL=postgresql://postgres.[project-ref]:[password]@aws-0-[region].pooler.supabase.com:6543/postgres?pgbouncer=true
    
    # Supabase Auth
    SUPABASE_URL=https://[project-ref].supabase.co
    SUPABASE_ANON_KEY=your_supabase_anon_key
    
    # OpenAI
    OPENAI_API_KEY=sk-your_openai_api_key
    
    # App URL
    NEXT_PUBLIC_BASE_URL=http://localhost:3000
  4. Set up the database

    npx prisma generate
    npx prisma migrate dev
  5. Start the development server

    npm run dev
  6. Open your browser

    Visit http://localhost:3000


πŸ’» Usage

Basic Usage

Create a new note by filling out the form and clicking "Save". View the details of a note by clicking on it in the list.

AI-Powered Summarization

The AI will automatically generate a description for each note after it is saved. This description will be displayed in the note detail view.

βš™οΈ Configuration

Environment Variables

Create a .env file in the root directory:

NODE_ENV=development
PORT=3000
# Add your AI API key here (if applicable)
AI_API_KEY=your_api_key_here

πŸ“ Project Structure

Note-Taker/
β”œβ”€β”€ πŸ“ src/
β”‚   β”œβ”€β”€ πŸ“ actions/           # Server actions (notes, user)
β”‚   β”œβ”€β”€ πŸ“ app/               # Next.js App Router pages
β”‚   β”‚   β”œβ”€β”€ πŸ“ api/           # API routes
β”‚   β”‚   β”œβ”€β”€ πŸ“ login/         # Login page
β”‚   β”‚   └── πŸ“ sign-up/       # Sign-up page
β”‚   β”œβ”€β”€ πŸ“ auth/              # Supabase auth utilities
β”‚   β”œβ”€β”€ πŸ“ components/        # React components
β”‚   β”‚   └── πŸ“ ui/            # shadcn/ui components
β”‚   β”œβ”€β”€ πŸ“ db/                # Prisma schema & client
β”‚   β”œβ”€β”€ πŸ“ hooks/             # Custom React hooks
β”‚   β”œβ”€β”€ πŸ“ lib/               # Utility functions
β”‚   β”œβ”€β”€ πŸ“ openai/            # OpenAI client setup
β”‚   β”œβ”€β”€ πŸ“ providers/         # React context providers
β”‚   β”œβ”€β”€ πŸ“ styles/            # Global CSS styles
β”‚   └── πŸ“„ middleware.ts      # Auth middleware
β”œβ”€β”€ πŸ“ public/                # Static assets & images
β”œβ”€β”€ πŸ“„ .env.example           # Example environment variables
β”œβ”€β”€ πŸ“„ package.json           # Project dependencies
β”œβ”€β”€ πŸ“„ tailwind.config.ts     # Tailwind configuration
└── πŸ“„ README.md              # Project documentation

βš™οΈ Available Scripts

Command Description
npm run dev Start development server with Turbopack
npm run build Build for production
npm run start Start production server
npm run lint Run ESLint
npm run migrate Generate Prisma client and run migrations

🀝 Contributing

Contributions are welcome! Here's how you can help:

  1. Fork the repository
  2. Create a feature branch
    git checkout -b feature/amazing-feature
  3. Commit your changes
    git commit -m "Add amazing feature"
  4. Push to your branch
    git push origin feature/amazing-feature
  5. Open a Pull Request

πŸ“ License

This project is licensed under the MIT License - see the LICENSE file for details.


πŸ™ Acknowledgments

  • Next.js – The React framework for production
  • Supabase – Open source Firebase alternative
  • Prisma – Next-generation ORM
  • OpenAI – AI that powers our assistant
  • shadcn/ui – Beautiful UI components
  • Radix UI – Accessible component primitives
  • Tailwind CSS – Utility-first CSS framework

Made with ❀️ by Samrat Karki

⭐ Star this repo if you find it helpful!

About

A place where one can add note and can get a detail description of that using AI

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published