Skip to content

koreyba/EverFreeNote

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

930 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EverFreeNote

Build Component Tests E2E Tests

Modern note-taking application built with Next.js and Supabase

Simple. Secure. Synced.


Documentation


Quick Start

Prerequisites

  • Node.js 18+
  • Docker Desktop (for local development)
  • Supabase account (for production)

Local Development

# Install dependencies
npm install

# Start local Supabase stack (PostgreSQL + Auth + API + Studio)
npm run db:start

# Configure environment (use default local keys)
cp .env.local.example .env.local

# Run development server
npm run dev

Open http://localhost:3000

Supabase Studio: http://localhost:54323

Test Users

  • skip-auth@example.com / <test-password>
  • test@example.com / <test-password>

Stop Services

npm run db:stop

See docs/run_test.md for detailed setup and testing instructions.


Architecture

Type: Single Page Application (SPA)
Stack: Next.js (static export), React 19, Supabase, Tailwind CSS + shadcn/ui, Cloudflare Pages hosting
Key constraints: no SSR/server actions/API routes; all Supabase access from the client through a shared provider and service layer.

See docs/ARCHITECTURE.md for detailed information.


Build & Deploy

# Build static export
npm run build

# Output directory: out/

Deploy the out/ folder to:

  • Cloudflare Pages
  • Vercel
  • Netlify
  • Any static hosting

Features

  • Google OAuth authentication
  • Create, edit, delete notes
  • Tags with interactive chips
  • Full-text search with FTS → ILIKE fallback
  • Tag-based filtering
  • Responsive design
  • Secure row-level security (Supabase)
  • Evernote ENEX import with HTML sanitization

Environment Variables

NEXT_PUBLIC_SUPABASE_URL=your_supabase_url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key

Optional:

# Use "./" only when building the mobile WebView bundle (file:// assets).
# Leave empty for web deploys so assets load from /_next/.
NEXT_PUBLIC_ASSET_PREFIX=./

License

MIT


Contributing

Before adding new features, please read docs/ARCHITECTURE.md to understand the architectural principles.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors