Skip to content
Snippets Groups Projects
user avatar
Anshul Ruhil authored
90fa48f0
History


GoodNote
GoodNote

A minimal note-taking application built on top of Kotlin

GoalKey FeaturesInstallationTechnologiesContributionReleasesLicense

screenshot

Goal

GoodNote is a simple and easy-to-use note-taking application with many features supported. This is a project from team 112 of CS 346: Application development.

Features

Main features include:

  • A top-level menu bar that lists major functions, and indicates the hotkeys for each feature (e.g. File, Edit, View menu and submenus).
  • Toolbars that let the user control settings and modes that apply to the application e.g. a Bold button that can be used to embolden text, and reflects the state of selected text.
  • Window resizing, so that the user can resize and reposition the application. You should save the window size and position on exit, and restore that size and position when they relaunch it.
  • Minimize/mazimize buttons function as expected.
  • Undo-redo support for actions in the user interface.
  • Cut-copy-paste text.

Additional features:

  • Create, edit, delete a note (using both keyboard and point-click).
  • Group related notes together e.g. folders or tags. Support add/delete and rename groups, and move notes between groups.
  • Support for bulleted lists, including the ability to apply or remove bullets from a block of selected text.

Installation

Technologies

This project uses the following technologies:

  • Kotlin as the main language.
  • GitLab for project tracking.
  • JavaFX for the graphical user-interface.
  • SQLite for managing local storage.
  • H2 for remote data storage.
  • JUnit for testing.
  • Gradle for project builds.

Contribution

Releases

Version 1.0.0: Infrastructure & GUI (released Feb 17, 2023)

Version 2.0.0: Data Persistance (released Mar 10, 2023)

  • release-notes (md)
  • installer (Window, MacOS)

License