Keep/keep-notes
sepehr dfa5f9611f fix: resolve Prisma Query Engine runtime error in Docker
Critical fix for production deployment on Proxmox/Docker.

Problem:
- Runtime error: Prisma Client could not locate Query Engine for "debian-openssl-1.1.x"
- Wrong binary target generated (Windows dll instead of Linux .so.node)
- Wrong OpenSSL version (3.0.x instead of 1.1.x for Debian 11)

Root cause:
- Schema.prisma didn't specify binaryTargets
- Prisma auto-detected Windows during local development
- Debian 11 (bullseye) uses OpenSSL 1.1.x, not 3.0.x

Solution:
1. Add binaryTargets to schema.prisma:
   - "debian-openssl-1.1.x" for Docker/Proxmox
   - "native" for local development

2. Fix Prisma folder permissions in Docker:
   - RUN chown -R nextjs:nodejs /app/prisma
   - Ensures Query Engine binary is readable by app user

Changes:
- prisma/schema.prisma: Add binaryTargets = ["debian-openssl-1.1.x", "native"]
- keep-notes/Dockerfile: Add chown for /app/prisma folder

Verification:
✓ libquery_engine-debian-openssl-1.1.x.so.node exists
✓ Permissions: nextjs:nodejs (readable)
✓ Prisma Client loads successfully in container

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-12 21:30:03 +01:00
..
2026-01-11 23:50:30 +01:00

Keep Notes - Google Keep Clone

A beautiful and feature-rich Google Keep clone built with modern web technologies.

Keep Notes TypeScript Tailwind CSS Prisma

Features

  • 📝 Create & Edit Notes: Quick note creation with expandable input
  • ☑️ Checklist Support: Create todo lists with checkable items
  • 🎨 Color Customization: 10 beautiful color themes for organizing notes
  • 📌 Pin Notes: Keep important notes at the top
  • 📦 Archive: Archive notes you want to keep but don't need to see
  • 🏷️ Labels: Organize notes with custom labels
  • 🔍 Real-time Search: Instantly search through all your notes
  • 🌓 Dark Mode: Beautiful dark theme with system preference detection
  • 📱 Fully Responsive: Works perfectly on desktop, tablet, and mobile
  • Server Actions: Lightning-fast CRUD operations with Next.js 16
  • 🎯 Type-Safe: Full TypeScript support throughout

🚀 Tech Stack

Frontend

  • Next.js 16 - React framework with App Router
  • TypeScript - Type safety and better DX
  • Tailwind CSS 4 - Utility-first CSS framework
  • shadcn/ui - Beautiful, accessible UI components
  • Lucide React - Modern icon library

Backend

  • Next.js Server Actions - Server-side mutations
  • Prisma ORM - Type-safe database client
  • SQLite - Lightweight database (easily switchable to PostgreSQL)

📦 Installation

Prerequisites

  • Node.js 18+
  • npm or yarn

Steps

  1. Clone the repository

    git clone <repository-url>
    cd keep-notes
    
  2. Install dependencies

    npm install
    
  3. Set up the database

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

    npm run dev
    
  5. Open your browser Navigate to http://localhost:3000

Getting Started

First, run the development server:

npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun dev

Open http://localhost:3000 with your browser to see the result.

You can start editing the page by modifying app/page.tsx. The page auto-updates as you edit the file.

This project uses next/font to automatically optimize and load Geist, a new font family for Vercel.

Learn More

To learn more about Next.js, take a look at the following resources:

You can check out the Next.js GitHub repository - your feedback and contributions are welcome!

Deploy on Vercel

The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.

Check out our Next.js deployment documentation for more details.