JAVA / SPRING BOOT

NetNote

A collaborative note-taking app built with Spring Boot (server) and JavaFX (client). Features include rich markdown support, collections, file attachments, and full keyboard navigation.

01

Markdown Basics

All notes support markdown rendering. Below are the core formatting options:

Text Formatting
Italics *text*
Bold **text**
Headers # Header
Organization
Note Links [[NoteName]]
Tags #Important #Todo
02

Keyboard Shortcuts

The app is designed for keyboard-first usage. Navigate with โ†โ†‘โ†“โ†’ and select with ENTER.

Focus Search ESC
Focus Collections C
New Note = or +
Delete Item DELETE
Undo CTRL + Z
03

Interface Controls

Key actions available in the Note and Collection scenes:

  • ๐Ÿ“ Create Note: Adds "Untitled Note" (auto-indexed).
  • ๐Ÿ—‘ Delete: Removes selected item.
  • โฎ / โฎŸ Reorder: Move notes up or down to prioritize.
  • โŽŒ Undo History: View last 30 operations and rollback.
  • โฎซ Move To: Quick menu to move notes between collections.
  • ๐Ÿ“Ž Attach: Add files to the note.
04

Server Setup

To run multiple server instances locally (e.g., for testing sync), configure IntelliJ with separate profiles.

# 1. IntelliJ VM Options -Dserver.port=8080 -Dspring.profiles.active=server1 # 2. Add to servers.txt (in Commons module) http://localhost:8080 http://localhost:8081
05

Usability & Features

  • Smart Warnings: Over 20+ checks (e.g., preventing deletion without selection).
  • Visual Feedback: Status bars indicate sync status, unsaved changes, and connection health.
  • Custom Styling: Users can inject custom CSS via client/user.css to style the WebView.