GoodNote
A minimal note-taking application built on top of Kotlin
Goal • Key Features • Installation • Technologies • Contribution • Releases • License
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
- Abhay Menon: @a32menon
- Inseo Kim: @i32kim
- Hoang Dang: @h22dang
- Guransh Khurana: @g3khuran
- Anshul Ruhil: @aruhil
Releases
Version 1.0.0: Infrastructure & GUI (released Feb 17, 2023)
- release-notes (md)
- installer (Window, MacOS)
Version 2.0.0: Data Persistance (released Mar 10, 2023)
- release-notes (md)
- installer (Window, MacOS)