Authentication
Built a secure login flow using bcrypt password hashing and express-session for authenticated access to notebooks and notes.
Mark Rechsteiner | NoteStack
A self-hosted note-taking application with notebooks, tags, search, and autosave.
NoteStack is a full-stack notes application built with Node.js, Express, EJS, and MariaDB. It allows users to create accounts, organize notes into notebooks, tag notes for filtering, search across title/content/tags, and edit notes with autosave functionality.
The application is hosted on a Synology NAS, managed with PM2, and securely exposed to the internet through Cloudflare Tunnel without opening inbound router ports.
Core application features:
Tech Stack
Node.js, Express, EJS, MariaDB, PM2, Cloudflare Tunnel, Synology NAS
Built a secure login flow using bcrypt password hashing and express-session for authenticated access to notebooks and notes.
Users can create, view, edit, and delete notebooks and notes, giving the app a complete and practical CRUD workflow.
Notes support many-to-many tag relationships, and search includes note title, note content, and assigned tags.
Notes automatically save while typing, creating a more modern and user-friendly editing experience.
Click an image to view it larger.
Schema diagram for the NoteStack database structure.
The NoteStack schema includes users, notebooks, notes, tags, and a many-to-many join table connecting notes to tags.
Open full schema image