A fast markdown notes app: live preview, tags, pinning, and full-text-ish search across titles, content, and tags. Full-stack Next.js with a PostgreSQL backend.
▶ Try the live demo — runs right in your browser, no setup.
- ✍️ Markdown editor with Write / Preview toggle (GitHub-flavored markdown)
- 🧰 Formatting toolbar (bold/italic/code/heading/list/quote insert at cursor), live word count, one-click export to .md
- 🔖 Tags + 📌 pinning
- 🔎 Search across title, content, and tags (debounced)
- 💾 Debounced autosave
- 🌱 Auto-seeded sample notes on first boot
| Tier | Tech |
|---|---|
| App | Next.js 14 (App Router, route handlers) |
| ORM | Prisma |
| DB | PostgreSQL (String[] tags) |
| Markdown | react-markdown + remark-gfm |
| Runtime | Docker Compose |
docker compose up --buildOpen http://localhost:3000. On first boot the container runs
prisma db push and seeds a few sample notes.
npm install
export DATABASE_URL=postgresql://snapnote:snapnote@localhost:5432/snapnote
npm run db:push && npm run seed
npm run dev| Method | Route | Description |
|---|---|---|
GET |
/api/notes?q= |
list / search notes |
POST |
/api/notes |
create a note |
GET |
/api/notes/:id |
fetch one |
PATCH |
/api/notes/:id |
update |
DELETE |
/api/notes/:id |
delete |
MIT © Wassim Jebali