Skip to content

ashujsrfox/Notes-Taker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Notes App

A simple Java Swing desktop application for creating, editing, organizing, and exporting local notes.

Features

  • Create, save, rename, and delete notes
  • Auto-save while editing
  • Search notes by title
  • Pin important notes to keep them at the top
  • Markdown preview for common formatting
  • Export notes as .txt files
  • Word and character counts
  • Created and modified timestamps
  • Undo and redo keyboard shortcuts
  • Multiple visual themes and page styles

Tech Stack

  • Java
  • Java Swing
  • Local file storage

Project Structure

Notes App/
+-- Main.java
+-- model/
|   +-- Note.java
+-- service/
|   +-- NoteService.java
+-- ui/
|   +-- MainFrame.java
+-- notes/

Requirements

  • JDK 8 or newer

Check your Java installation:

java -version
javac -version

How to Run

From the project root, compile the application:

javac Main.java model/Note.java service/NoteService.java ui/MainFrame.java

Run the application:

java Main

On Windows PowerShell, the same commands can be used from the project folder:

javac Main.java model\Note.java service\NoteService.java ui\MainFrame.java
java Main

How Notes Are Stored

Notes are saved locally in the notes/ folder. Each note is stored as a file with metadata for creation time, modified time, and pinned status.

Usage

  1. Click New to create a note.
  2. Select a note from the sidebar to edit it.
  3. Use Save to manually save changes, or let auto-save handle edits while typing.
  4. Use Pin to keep an important note at the top.
  5. Use Preview to view markdown formatting.
  6. Use Export to save the selected note as a text file.

Keyboard Shortcuts

  • Ctrl + Z - Undo
  • Ctrl + Y - Redo

GitHub Notes

Compiled .class files are generated when you build the project and do not need to be committed. Consider adding this to a .gitignore file:

*.class

If you do not want sample or personal notes in the repository, also ignore the notes folder:

notes/

License

This project is open for learning, practice, and personal use.

About

A simple and lightweight desktop notes application built using Java.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages