Giter Site home page Giter Site logo

dansoftowner / boomega Goto Github PK

View Code? Open in Web Editor NEW
73.0 73.0 5.0 29.91 MB

A modern book explorer/catalog application written in Kotlin and Java.

License: GNU General Public License v3.0

Java 22.24% CSS 5.35% Kotlin 72.14% Groovy 0.27%
books catalog client-side cross-platform database desktop explorer google-books gui java javafx kotlin

boomega's Introduction

Boomega icon

Boomega Unstable stage

License Issues Issues closed Last commit

An advanced book explorer/catalog application written in Java and Kotlin.

Screenshot

โœจ Features

  • Cross-platform
  • Dark/Light theme, modern UI
  • Multiple UI languages
  • Flexible to support multiple Database Management Systems (e.g MySql)
  • Exporting to several formats like Excel Spreadsheets, JSON, etc...
  • Custom notes with Markdown support
  • Google Books synchronization
  • Customizable key-bindings
  • Plugin support
  • ...and more!

๐Ÿ“„ Documentation

โฌ‡๏ธ Download

Platform Downloads Version GitHub Release Date

Note: If you want to try the latest version, you should build the project yourself!

Windows

(64-bit)

Linux

(64-bit)

MacOS

(64-bit)

Help wanted

Java archive (.jar)

โŒจ๏ธ Source code

Java version Kotlin version Top language Gradle Gui GitHub repo size

  • The repo has two important branches:
    • master - usually for permanent versions
    • dev - for developing the app further
  • The code is written in Java and Kotlin mixed.
  • The GUI toolkit used is JavaFX
  • The app targets Java 17 but the project is unmodularized
  • The build tool used is Gradle
  • Want to contribute? See the contribution guideline.

๐Ÿ”จ Build

The recommended IDE for building this project is IntelliJ Idea.

Build requirements

Build manually (without using an IDE)

If you want to run the project, simply use gradlew run.
To build a fat jar, use gradlew shadowJar.
To build executable binaries, use gradlew jpackage (see distribution guideline)

๐Ÿ‹๏ธ Acknowledgements

All acknowledgements (e.g. third-party libraries) are listed in this document.

๐Ÿ’™ Support

If you like this project, give a โญ!

Buy Me a Coffee at ko-fi.com

๐Ÿ“„ License

This software is licensed under the GNU General Public License v3.

boomega's People

Contributors

dansoftowner avatar turab avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

boomega's Issues

Clipboard viewer

There should be a 'clipboard-viewer/editor' panel that allows to see the RecordClipboard's content and even allows to edit it (remove elements etc..). (Should be launchable from the MenuBar)

Support reordering

Currently, reordering books is not supported.
The #30 issue may help because it should achieved with drag n drop too.

Some google book data is lost when importing

The HTML format of the Volume's description is only available if we query it specifically by id.
When importing a Google Book volume, the volume should be pulled again to have the HTML format.

Also, in some cases even other field's data are lost.

Find panel in record-viewer

There should be a find-panel in the RecordsView. It should be launchable through a ToolbarItem and the Ctrl+F key combination.
It should support regex etc..

Last launch of a database should be saved

The time when a database is opened should be saved.
It would be useful because:

  • The 'Recent databases' menu in the MenuBar could be sorted better
  • The User could see it in the DatabaseManager

LanguageSelection improvement

A language-selection-field doesn't display the user-friendly version of the particular Locale. It should show it in a Tooltip.

Signing out of an opened database

There should be an item for signing out/closing the opened database. It should also remove the auto-login from that database in that case.

RecordEditor: fields-editor misbehaviour

If a value is changed in the Fields tab and then if I navigate to the Notes tab and navigate back, the unsaved changes are handled as they are already saved so the save-changes button is disabled.

Database info panel

In every MainView the user should have the ability to read some information about the launched database.
It's name, path, size etc...

The MenuBar's File menu is a good place for it.

Limited mode

The app should have a limit mode, where no local database is required and activites that are independent of a local database (like Google Book search) are available.

Handling duplicate file in UpdateDialog

If the user wants to download a binary but in the destination directory there is a file already with the same name, the program should show a confirmation dialog (like: 'Do you want to override...) or it should append a number to the new file's name (ex.: 'Binary (1)'.

Status bar

There should be a status bar at the bottom where the program can show messages and progress.

image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.