8 Commits
Author SHA1 Message Date
das 5fa0abb8af Merge pull request 'Updated run scripts' (#8) from dev into main
Reviewed-on: #8
2025-03-29 09:10:32 +02:00
das 26b1282845 Merge pull request 'dev' (#7) from dev into main
Reviewed-on: #7
2025-03-29 08:37:27 +02:00
das 112e4ac4c4 Merge pull request 'dev' (#6) from dev into main
Reviewed-on: #6
2025-03-19 16:30:52 +02:00
das 9e428f7a03 Merge pull request 'removed necessary files' (#5) from dev into main
Reviewed-on: #5
2025-03-19 16:02:41 +02:00
das e163796bcb Merge pull request 'Updated README.md' (#4) from dev into main
Reviewed-on: #4
2025-03-15 15:02:40 +02:00
das e9d39e26dc Merge pull request 'Correctet README.md' (#3) from dev into main
Reviewed-on: #3
2025-03-15 15:00:23 +02:00
das a33dbdeb65 Merge pull request 'dev' (#2) from dev into main
Reviewed-on: #2
2025-03-15 14:57:45 +02:00
das 91002037df Merge pull request 'Corrected README.m' (#1) from dev into main
Reviewed-on: #1
2025-03-15 14:52:27 +02:00
15 changed files with 57 additions and 334 deletions
+27 -137
View File
@@ -1,147 +1,37 @@
## Nova Poshta: Tracker and Organizer ## Nova Poshta: Tracker and Organizer
### _Desktop application to track, organize and manage parcels from Ukrainian delivery operator Nova Poshta_ ### _Desktop application to track, organize and manage parcels from Ukrainian delivery operator Nova Poshta_
[![Java](https://img.shields.io/badge/Java-17-green)](https://adoptium.net/) [![JavaFX](https://img.shields.io/badge/JavaFX-desktop-orange)](https://gluonhq.com/products/javafx/) [![Spring Boot](https://img.shields.io/badge/Spring_Boot-3.2.4-brightgreen)](https://spring.io/projects/spring-boot) [![ControlsFX](https://img.shields.io/badge/ControlsFX-11.2.1-66B2C4)](https://controlsfx.github.io) [![SQLite](https://img.shields.io/badge/SQLite-local_DB-blue)](https://www.sqlite.org/) [![Version](https://img.shields.io/badge/version-1.3-lightgrey)](#) [![Java 8](https://img.shields.io/badge/Java-8-white)](https://www.java.com/) [![ControlsFX](https://img.shields.io/badge/controls-FX-66B2C4)](https://controlsfx.github.io) [![maven](https://img.shields.io/badge/maven-project-blue)](https://maven.apache.org/)
🇺🇦 [Українська версія](README_ua.md)
![Logo](help/images/app_logo.png)
### 💡 Purpose ### 💡 Purpose
There wasn't a desktop application for Nova Poshta. This one keeps all your waybill numbers (TTN) in one place, regularly refreshes their status from the Nova Poshta API, lets you group, filter, search and archive them, and pass them to your own plugins for further processing. ![Logo](help/images/app_logo.png)
There wasn't desktop application for Nova Poshta.
That it.
### 📃 Features ### 📃 Features
- multiple OS: Windows and Linux launch scripts are included, any OS with Java 17 and JavaFX will do - multiple OS
- [useful, informative and flexible interface](#MainWin) with list, detailed view and barcode of the number - useful, informative and flexible interface
- on-the-fly interface language switching (English / Ukrainian) - in-fly interface language changing
- [auto update of uncompleted numbers](#Config) - plugins support
- [several view and filtration modes](#ViewModes) - auto update uncompleted numbers
- [custom numbers list](#Windows) – not all numbers, but only those you need - some number views and filtration options
- [numbers grouping](#Groups) - custom numbers list - not all numbers to view, but numbers you need
- [extended search](#Search) with saved search options and search history - numbers grouping support
- [several phone numbers](#Phones) for requests to the Nova Poshta server - extended search with saving search options feature
- [archiving](#Windows) of completed / unused numbers - multiple addition windows support
- [plugins support](#Plugins) - archiving completed/unused numbers
- [visual log](#Log) of the main application events - visually logging main application's events
- [hot keys](help/en/hot_keys.md) for almost every action ### ⏬ Getting
You can download archive from [Releases section](https://github.com/anrydas/NovaPoshta/releases) or clone the repository.
Find full application's documentation at: [Ukrainian](help/uk/help.md) and [English](help/en/help.md).
### 🚀 Launch<a id='Launch'/>
First you need to set the `JFX_PATH` variable as full path to JavaFX in provided `run.*` script.<br/>
If you haven't the JavaFX you need to install it from [https://gluonhq.com/products/javafx/](https://gluonhq.com/products/javafx/)<br/>
The application's distribution included run.cmd or run.sh depended on your OS. Just launch it.<br/>
Note: `run.*` script need to `JAVA_HOME` environment variable. If it doesn't provided made changes into script to include full path to JRE.
### 📜 Main Window<a id='MainWin'/>
![Main Window](help/images/main.png)
### ⭐ Advantages ###### _Made by -=:dAs:=-_
- **Everything is local** – numbers, groups, phones and settings are stored in a local SQLite database `DB/np.db`, no account or cloud is needed.
- **Always up to date** – uncompleted numbers are refreshed automatically, a single number or all of them can be updated on demand.
- **Extensible** – any `jar` plugin implementing `PluginInterface` gets the selected numbers and can export, print or process them.
- **Keeps your layout** – positions and sizes of all resizable windows are remembered between launches.
### 📱 Screenshots
<table>
<tr>
<td align="center"><img src="help/images/main.png" width="400" alt="Main window" /></td>
<td align="center"><img src="help/images/search.png" width="400" alt="Search" /></td>
</tr>
<tr>
<td align="center"><i>Main window</i></td>
<td align="center"><i>Search</i></td>
</tr>
<tr>
<td align="center"><img src="help/images/detailed_window.png" width="400" alt="Detailed view" /></td>
<td align="center"><img src="help/images/config.png" width="400" alt="Configuration" /></td>
</tr>
<tr>
<td align="center"><i>Detailed number view</i></td>
<td align="center"><i>Configuration</i></td>
</tr>
</table>
### 📌 Using
Full documentation: [English](help/en/help.md) and [Ukrainian](help/uk/help.md).
#### Main window<a id='MainWin' />
**_All added numbers on the left, details of the selected one on the right, log at the bottom._**
- list element shows the number, its state, user comment/description, type and dates
- detailed view shows all main fields, a barcode, copy-to-clipboard buttons and opens the [detailed view window](help/en/detail.md) with the full API response
- context menu, [menu and toolbar](help/en/menu.md) contain all commands for the number
- new numbers are added in the [Adding new Number](help/en/new.md) window; several such windows can be open at once
- details: [Main window](help/en/main.md)
#### Configuration<a id='Config' />
**_Settings are edited in the Configuration window and stored in the database._**
- Nova Poshta API link (normally no need to change it)
- default phone number – required, without it the server returns incomplete data
- enable / disable automatic update of uncompleted numbers
- number of search history and log records
- details: [Configuration](help/en/config.md)
#### View modes and filtration<a id='ViewModes' />
**_Switch how the numbers list is built and which numbers are shown._**
- view modes: numbers list, by groups, by creation date, by update date
- filters by number type: all, inbound, outbound, undefined
- details: [View modes and Filtration](help/en/view_mode.md)
#### Groups<a id='Groups' />
**_Split numbers into named groups._**
- group **Default** is created on the first launch and receives new numbers
- groups are added, renamed and deleted in the group edit window; only an empty group can be deleted
- details: [Groups](help/en/groups.md)
#### Archive and custom numbers list<a id='Windows' />
**_Separate windows for archived numbers and for a hand-picked list._**
- move completed numbers to the archive; restore or delete them permanently from there
- add any number to the custom list to keep an eye on it
- details: [Archived and Custom view numbers](help/en/windows.md)
#### Search<a id='Search' />
**_Simple search by number or advanced search by selected fields._**
- search in the main list or in the archive, case-insensitive
- advanced search options can be saved and restored
- search history (10–500 records) suggests previous queries
- search results can be passed to a plugin
- details: [Search and search options](help/en/search.md)
#### Phone numbers<a id='Phones' />
**_Several phone numbers to request number data from the Nova Poshta server._**
- the main phone number is shown in bold
- a phone used by numbers cannot be deleted
- details: [Phone numbers](help/en/phones.md)
#### Plugins<a id='Plugins' />
**_Pass numbers to external `jar` plugins._**
1. Take [NP Plugin Template](../plugins/template) as a base (see the [Demo plugin](../plugins/demo)).
2. Implement `das.tools.np.entity.plugin.PluginInterface`; the `jar` file name must match the plugin class name.
3. Put the `jar` into the `plugins` folder of the application or into its sub-folder (one level only).
4. Run the plugin from the menu, the search window or the archive window.
- details: [Plugins](help/en/plugins.md)
#### Log<a id='Log' />
**_Main application events in the bottom area of the main window._**
- toggled with **Ctrl + L**; maximum number of records is set in the configuration
- the file log is written to `logs/NP.log`
- details: [Log](help/en/log.md)
### 🚀 Running
Requirements: Java 17+ (`JAVA_HOME` must point to it) and the [JavaFX SDK](https://gluonhq.com/products/javafx/) for your OS.
1. Download the archive from the [Releases section](https://github.com/anrydas/NovaPoshta/releases) (or [build it](#Build)) and unpack it.
2. Set `JFX_PATH` in `run.sh` (Linux/macOS) or `run.cmd` (Windows) to the full path of the JavaFX SDK folder (the one containing `lib`).
3. Launch `run.sh` / `run.cmd`. If `JAVA_HOME` is not set, put the full path to `java` into the script.
The distribution folder layout:
```
NovaPoshta.jar # application
run.sh / run.cmd # launch scripts
application-default.properties # optional overrides of the built-in settings (logging, DB path)
DB/np.db # database (an empty one in the distribution)
plugins/ # plugins folder
logs/NP.log # created on the first launch
```
The scripts switch to their own folder before start, because the database, logs and plugins are resolved relative to the working directory.
#### Building the application<a id='Build' />
Requirements: JDK 17 and Maven 3.
```shell
cd NovaPoshta
mvn clean package # builds the jar and the distribution archive
```
The ready-to-use archive appears in `target/NovaPoshta-distribution.zip`.
**Note:** the application is not affiliated with Nova Poshta; it only uses its public API.
###### _Made by -=:dAs:=-_
-147
View File
@@ -1,147 +0,0 @@
## Нова пошта: трекер та органайзер
### _Десктопний додаток для відстеження, впорядкування та керування посилками українського поштового оператора Нова пошта_
[![Java](https://img.shields.io/badge/Java-17-green)](https://adoptium.net/) [![JavaFX](https://img.shields.io/badge/JavaFX-desktop-orange)](https://gluonhq.com/products/javafx/) [![Spring Boot](https://img.shields.io/badge/Spring_Boot-3.2.4-brightgreen)](https://spring.io/projects/spring-boot) [![ControlsFX](https://img.shields.io/badge/ControlsFX-11.2.1-66B2C4)](https://controlsfx.github.io) [![SQLite](https://img.shields.io/badge/SQLite-local_DB-blue)](https://www.sqlite.org/) [![Version](https://img.shields.io/badge/version-1.3-lightgrey)](#)
🇬🇧 [English version](README.md)
![Logo](help/images/app_logo.png)
### 💡 Призначення
Десктопного додатка для Нової пошти не існувало. Цей додаток зберігає всі ваші ТТН в одному місці, регулярно оновлює їхній статус через API Нової пошти, дозволяє групувати, фільтрувати, шукати та архівувати їх, а також передавати їх власним плагінам для подальшої обробки.
### 📃 Можливості
- кілька ОС: є скрипти запуску для Windows і Linux, підійде будь-яка ОС з Java 17 та JavaFX
- [зручний, інформативний та гнучкий інтерфейс](#MainWin) зі списком, детальним переглядом і штрихкодом ТТН
- зміна мови інтерфейсу «на льоту» (українська / англійська)
- [автоматичне оновлення незавершених ТТН](#Config)
- [кілька режимів перегляду та фільтрації](#ViewModes)
- [користувацький список ТТН](#Windows) – не всі ТТН, а лише потрібні
- [групування ТТН](#Groups)
- [розширений пошук](#Search) зі збереженням параметрів пошуку та історією запитів
- [кілька номерів телефонів](#Phones) для запитів до сервера Нової пошти
- [архівування](#Windows) завершених / непотрібних ТТН
- [підтримка плагінів](#Plugins)
- [візуальний журнал](#Log) основних подій додатка
- [гарячі клавіші](help/uk/hot_keys.md) майже для кожної дії
### ⭐ Переваги
- **Усе локально** – ТТН, групи, телефони та налаштування зберігаються в локальній базі SQLite `DB/np.db`, обліковий запис чи хмара не потрібні.
- **Завжди актуально** – незавершені ТТН оновлюються автоматично, окрему ТТН або всі одразу можна оновити вручну.
- **Розширюваність** – будь-який `jar`-плагін, що реалізує `PluginInterface`, отримує вибрані ТТН і може їх експортувати, друкувати чи обробляти.
- **Пам'ятає розташування вікон** – положення та розміри всіх вікон, що змінюють розмір, зберігаються між запусками.
### 📱 Скріншоти
<table>
<tr>
<td align="center"><img src="help/images/main.png" width="400" alt="Головне вікно" /></td>
<td align="center"><img src="help/images/search.png" width="400" alt="Пошук" /></td>
</tr>
<tr>
<td align="center"><i>Головне вікно</i></td>
<td align="center"><i>Пошук</i></td>
</tr>
<tr>
<td align="center"><img src="help/images/detailed_window.png" width="400" alt="Детальний перегляд" /></td>
<td align="center"><img src="help/images/config.png" width="400" alt="Налаштування" /></td>
</tr>
<tr>
<td align="center"><i>Детальний перегляд ТТН</i></td>
<td align="center"><i>Налаштування</i></td>
</tr>
</table>
### 📌 Використання
Повна документація: [українською](help/uk/help.md) та [англійською](help/en/help.md).
#### Головне вікно<a id='MainWin' />
**_Ліворуч усі додані ТТН, праворуч деталі вибраної, внизу журнал._**
- елемент списку показує номер, стан, коментар/опис користувача, тип і дати
- детальний перегляд показує всі основні поля, штрихкод, кнопки копіювання в буфер обміну та відкриває [вікно детального перегляду](help/uk/detail.md) з повною відповіддю API
- контекстне меню, [меню та панель інструментів](help/uk/menu.md) містять усі команди для ТТН
- нові ТТН додаються у вікні [додавання ТТН](help/uk/new.md); одночасно можна відкрити кілька таких вікон
- докладніше: [Головне вікно](help/uk/main.md)
#### Налаштування<a id='Config' />
**_Налаштування змінюються у вікні налаштувань і зберігаються в базі даних._**
- посилання на API Нової пошти (зазвичай змінювати не потрібно)
- основний номер телефону – обов'язковий, без нього сервер повертає неповні дані
- увімкнення / вимкнення автоматичного оновлення незавершених ТТН
- кількість записів історії пошуку та журналу
- докладніше: [Налаштування додатка](help/uk/config.md)
#### Режими перегляду та фільтрація<a id='ViewModes' />
**_Перемикання способу побудови списку ТТН і того, які ТТН показуються._**
- режими перегляду: список ТТН, за групами, за датою створення, за датою оновлення
- фільтри за типом ТТН: усі, вхідні, вихідні, невизначені
- докладніше: [Режими перегляду та фільтрація](help/uk/view_mode.md)
#### Групи<a id='Groups' />
**_Розподіл ТТН за іменованими групами._**
- група **Default** створюється при першому запуску, до неї потрапляють нові ТТН
- групи додаються, перейменовуються та видаляються у вікні редагування груп; видалити можна лише порожню групу
- докладніше: [Групи](help/uk/groups.md)
#### Архів та користувацький список<a id='Windows' />
**_Окремі вікна для архівних ТТН і для вибраного вручну списку._**
- завершені ТТН переносяться в архів; звідти їх можна відновити або остаточно видалити
- будь-яку ТТН можна додати до користувацького списку, щоб стежити за нею
- докладніше: [Архів та Користувацький перегляд ТТН](help/uk/windows.md)
#### Пошук<a id='Search' />
**_Простий пошук за номером або розширений – у вибраних полях._**
- пошук у головному списку або в архіві, без урахування регістру
- параметри розширеного пошуку можна зберігати та відновлювати
- історія пошуку (10–500 записів) підказує попередні запити
- результати пошуку можна передати плагіну
- докладніше: [Пошук, параметри пошуку](help/uk/search.md)
#### Номери телефонів<a id='Phones' />
**_Кілька номерів телефонів для запиту даних ТТН із сервера Нової пошти._**
- основний номер телефону виділено жирним
- номер, що використовується в ТТН, видалити не можна
- докладніше: [Номери телефонів](help/uk/phones.md)
#### Плагіни<a id='Plugins' />
**_Передача ТТН зовнішнім `jar`-плагінам._**
1. Візьміть за основу [NP Plugin Template](../plugins/template) (див. також [Demo plugin](../plugins/demo)).
2. Реалізуйте `das.tools.np.entity.plugin.PluginInterface`; ім'я `jar`-файлу має збігатися з іменем класу плагіну.
3. Покладіть `jar` у теку `plugins` додатка або в її підтеку (лише один рівень вкладеності).
4. Запускайте плагін з меню, вікна пошуку або вікна архіву.
- докладніше: [Плагіни](help/uk/plugins.md)
#### Журнал<a id='Log' />
**_Основні події додатка в нижній частині головного вікна._**
- вмикається **Ctrl + L**; максимальна кількість записів задається в налаштуваннях
- файловий журнал пишеться в `logs/NP.log`
- докладніше: [Журнал](help/uk/log.md)
### 🚀 Запуск
Потрібно: Java 17+ (на неї має вказувати `JAVA_HOME`) та [JavaFX SDK](https://gluonhq.com/products/javafx/) для вашої ОС.
1. Завантажте архів з [розділу Releases](https://github.com/anrydas/NovaPoshta/releases) (або [зберіть його](#Build)) та розпакуйте.
2. Вкажіть у `run.sh` (Linux/macOS) або `run.cmd` (Windows) у змінній `JFX_PATH` повний шлях до теки JavaFX SDK (тієї, що містить `lib`).
3. Запустіть `run.sh` / `run.cmd`. Якщо `JAVA_HOME` не задано, вкажіть у скрипті повний шлях до `java`.
Структура теки дистрибутива:
```
NovaPoshta.jar # додаток
run.sh / run.cmd # скрипти запуску
application-default.properties # необов'язкове перевизначення вбудованих налаштувань (журнал, шлях до БД)
DB/np.db # база даних (у дистрибутиві – порожня)
plugins/ # тека плагінів
logs/NP.log # створюється при першому запуску
```
Скрипти перед стартом переходять у свою теку, бо база даних, журнали та плагіни шукаються відносно робочої теки.
#### Збірка застосунку<a id='Build' />
Потрібно: JDK 17 та Maven 3.
```shell
cd NovaPoshta
mvn clean package # збирає jar та архів дистрибутива
```
Готовий архів з'являється в `target/NovaPoshta-distribution.zip`.
**Note:** додаток не пов'язаний з компанією «Нова пошта», він лише використовує її публічний API.
###### _Made by -=:dAs:=-_
+3 -3
View File
@@ -1,10 +1,10 @@
## Nova Poshta: Tracker and Organizer ## Nova Poshta: Tracker and Organizer
### Application configuration ### Налаштування додатка
![Config](../images/config.png) ![Config](../images/config.png)
In the application configuration window, you can change the following parameters: In the application configuration window, you can change the following parameters:
- Link to the Nova Poshta API. It does not require change. When you enter the wrong link, the app will not be able to receive data from the NP server - Link to API New Mail. It does not require change. When you enter the wrong link, the app will not be able to receive data from the NP server
- Default Phone number. This number will be sent in request to the NP server to receive a Number's data. Without the Phone number the Number's data received from the server will be incomplete. Therefore, this parameter must be specified. - Default Phone number. This number will be sent in request to the NP server to receive a Number's data. Without the Phone number the Number's data received from the server will be incomplete. Therefore, this parameter must be specified.
- Enable or turn off automatic Number's update with "unfinished" status - Enable or turn off automatic Number's update with "unfinished" status
- Records number in [search history](search.md?history) - Records number in [search history](search.md?history)
@@ -13,7 +13,7 @@ Positions and sizes of windows (for those that can change the size) are stored a
Automatically stored parameters for the following windows: Automatically stored parameters for the following windows:
- [Main window](main.md) - [Main window](main.md)
- [Search window](search.md) - [Search window](search.md)
- [Detailed view window](detail.md) - [Detailed view window]()
- [Archived Numbers window](windows.md?archive) - [Archived Numbers window](windows.md?archive)
- [Custom view Numbers window](windows.md?custom) - [Custom view Numbers window](windows.md?custom)
- [Phones edit window](phones.md) - [Phones edit window](phones.md)
+2 -2
View File
@@ -1,11 +1,11 @@
## Nova Poshta: Tracker and Organizer ## Nova Poshta: Tracker and Organizer
### Detailed Number view window ### Вікно детального перегляду ТТН
![Detailed Window](../images/detailed_window.png) ![Detailed Window](../images/detailed_window.png)
Detailed Number view window duplicates all the elements of [Detailed view](main.md?detail) of the [Main window](main.md). In addition, there is an additional table (at the bottom) that presents all Number's data obtained as a result of the server request to the [API of Nova Poshta](https://api.novaposhta.ua/v2.0/json/). Detailed Number view window duplicates all the elements of [Detailed view](main.md?detail) of the [Main window](main.md). In addition, there is an additional table (at the bottom) that presents all Number's data obtained as a result of the server request to the [API of Nova Poshta](https://api.novaposhta.ua/v2.0/json/).
##### _see also:_ [detailed view](main.md?detail) ##### _see also:_ [детальний перегляд](main.md?detail)
#### [to Contents](help.md) #### [to Contents](help.md)
+3 -3
View File
@@ -1,20 +1,20 @@
## Nova Poshta: Tracker and Organizer ## Nova Poshta: Tracker and Organizer
### Groups ### Групи
All Numbers in the application can be divided into groups. After the first start, one group **Default** is created, in which creates all new Numbers. All Numbers in the application can be divided into groups. After the first start, one group **Default** is created, in which creates all new Numbers.
You can add a new group using [Menu](menu.md?menu) **Edit**, or using a button on the [Toolbar](menu.md?toolbar) You can add a new group using [Menu](menu.md?menu) **Edit**, or using a button on the [Toolbar](menu.md?toolbar)
Also add, change and delete groups you can in [Group edit window](#edit) Also add, change and delete groups you can in [Group edit window](#edit)
There can be no two different groups with the same name. There can be no two different groups with the same name.
#### Group edit window<a id='edit'/> #### Вікно редагування груп<a id='edit'/>
![Groups](../images/edit_groups.png) ![Groups](../images/edit_groups.png)
In the group editing window, you can add, change and delete groups. The changed data is highlighted in the list of bold. In the group editing window, you can add, change and delete groups. The changed data is highlighted in the list of bold.
All actions are performed with the appropriate buttons. All changes are fixed only after pressing the button **OK** All actions are performed with the appropriate buttons. All changes are fixed only after pressing the button **OK**
It is impossible to remove the non-empty group. To removing the non-empty group move numbers from it another group (or to archive), and only then - remove the group. It is impossible to remove the non-empty group. To removing the non-empty group move numbers from it another group (or to erchive), and only then - remove the group.
#### [to Contents](help.md) #### [to Contents](help.md)
+1 -1
View File
@@ -6,7 +6,7 @@
- [list element](main.md?element) - [list element](main.md?element)
- [detail view](main.md?detail) - [detail view](main.md?detail)
- [context menu](main.md?context) - [context menu](main.md?context)
2. **[Menu and Toolbar](menu.md)** 2. **[Menu ant Toolbar](menu.md)**
3. [View modes and Filtration](view_mode.md) 3. [View modes and Filtration](view_mode.md)
4. [Configuration](config.md) 4. [Configuration](config.md)
5. [Adding new Number](new.md) 5. [Adding new Number](new.md)
+5 -5
View File
@@ -5,21 +5,21 @@ All the hotkeys in the application are listed here:
[Main window](main.md) [Main window](main.md)
| **Shortcut** | **Action** | | **Комбінація** | **Дія** |
|---------------------------|-----------------------------| |---------------------------|-----------------------------|
| **Number** || | **Номер** ||
| Alt + A | Add new Number | | Alt + A | Add new Number |
| F5 | Update Number | | F5 | Update Number |
| Shift + F5 | Update uncompleted | | Shift + F5 | Update uncompleted |
| Alt + F4 | Exit application | | Alt + F4 | Exit application |
| **Edit** || | **Змінити** ||
| Alt + Shift + G | New Group | | Alt + Shift + G | New Group |
| Ctrl + Alt + G | Edit Groups | | Ctrl + Alt + G | Edit Groups |
| Alt + P | Edit Phone numbers | | Alt + P | Edit Phone numbers |
| Alt + S | Edit Search options | | Alt + S | Edit Search options |
| Ctrl + F | Search | | Ctrl + F | Search |
| Alt + Shift + C | Configuration | | Alt + Shift + C | Configuration |
| **View** || | **Вигляд** ||
| Ctrl + I | Detailed Number view window | | Ctrl + I | Detailed Number view window |
| Ctrl + L | Toggle Log | | Ctrl + L | Toggle Log |
| | _View modes_ | | | _View modes_ |
@@ -35,7 +35,7 @@ All the hotkeys in the application are listed here:
[Search window](search.md) [Search window](search.md)
| **Shortcut** | **Action** | | **Комбінація** | **Дія** |
|----------------|-----------------------------| |----------------|-----------------------------|
| Ctrl + S | Save search option | | Ctrl + S | Save search option |
| Ctrl + O | Open saved search options | | Ctrl + O | Open saved search options |
+1 -1
View File
@@ -5,7 +5,7 @@
In the Adding new Number window, you must provide: In the Adding new Number window, you must provide:
- Number type (inbound, outbound, undefined) - Number type (inbound, outbound, undefined)
- sender's or receiver's phone number - sender's or recoiver's phone number
- Group - Group
- user comment - user comment
- is the auto-update need or not - is the auto-update need or not
+3 -3
View File
@@ -1,7 +1,7 @@
## Nova Poshta: Tracker and Organizer ## Nova Poshta: Tracker and Organizer
### Plugins ### Plugins
Plugins are used to expand the functionality of the application. All plugins must be placed in the **plugins** folder and in its sub-folders. When loading plugins, the application scans the contents of all sub-folders of the folder **plugins** (only one level deep: plugins in nested sub-folders are ignored) and sorts all folders by name, then the plugins contained directly in the folder **plugins** are added. In all folders, plugins are sorted by file name. Plugins are used to expand the functionality of the application. All plugins must be placed in the **plugins** folder and in its sub-folders. When loading plugins, the application scans the contents of all sub-folders of the folder **plugins** and sorts all folders by name, then the plugins contained directly in the folder **plugins** are added. In all folders, plugins are sorted by file name.
The plugin has an extension **jar** and must have the same name as the plugin's base class. The plugin has an extension **jar** and must have the same name as the plugin's base class.
The plugin's base class must implement the **das.tools.np.entity.plugin.PluginInterface** interface: The plugin's base class must implement the **das.tools.np.entity.plugin.PluginInterface** interface:
@@ -15,9 +15,9 @@ public interface PluginInterface {
} }
``` ```
The [NP Plugin Template](../../../plugins/template) project was created for convenience. It contains the interface and all necessary classes for work and you need to take it as a basis for creating your plugin. The [NP Plugin Template](#ToDo: add link) project was created for convenience. It contains the interface and all necessary classes for work and you need to take it as a basis for creating your plugin.
Also the [NP Demo Plugin](../../../plugins/demo) project exists. It contains an example plugin that simply outputs all Numbers passed to it to the console. Also the [NP Demo Plugin](#ToDo: add link) project exists. It contains an example plugin that simply outputs all Numbers passed to it to the console.
At the moment (v.1.*), the plugins work only for outputting information from the application. At the moment (v.1.*), the plugins work only for outputting information from the application.
+1 -1
View File
@@ -11,7 +11,7 @@ The application has the following viewing modes:
- Numbers list - Numbers list
- Numbers by Groups - Numbers by Groups
- Numbers by date of creation - Numbers by date of creation
- Numbers by the date of update - TNumbers by the date of update
When changing the viewing mode, the list of Numbers will change accordingly. The [List items](main.md?element) view remain unchanged. It will also remain unchanged the [Context menu](main.md?context) of the list element. When changing the viewing mode, the list of Numbers will change accordingly. The [List items](main.md?element) view remain unchanged. It will also remain unchanged the [Context menu](main.md?context) of the list element.
+1 -3
View File
@@ -1,6 +1,4 @@
## Nova Poshta: Tracker and Organizer ## Nova Poshta: Tracker and Organizer
### _Desktop application to track, organize and manage parcels from Ukrainian delivery operator Nova Poshta_ ### _Desktop application to track, organize and manage parcels from Ukrainian delivery operator Nova Poshta_
[Ukrainian](uk/help.md) and [English](en/help.md) [Ukrainian](uk/help.md) and [English](en/help.md)
[README](../README.md) · [README українською](../README_ua.md)
+3 -3
View File
@@ -1,7 +1,7 @@
## Нова пошта: трекер та органайзер ## Нова пошта: трекер та органайзер
### Плагіни ### Плагіни
Для розширення функціоналу додатка використовуються плагіни. Усі плагіни мають бути розміщені у теці **plugins** та у її підтеках. При завантаженні плагінів додаток переглядає вміст усіх підтек теки **plugins** (лише одного рівня вкладеності: плагіни у глибших підтеках ігноруються) та сортує всі теки за іменем, потім додаються плагіни, що містяться безпосередньо у теці **plugins**. У всіх теках плагіни сортуються за іменем файлу. Для розширення функціоналу додатка використовуються плагіни. Усі плагіни мають бути розміщені у теці **plugins** та у її підтеках. При завантаженні плагінів додаток переглядає вміст усіх підтек теки **plugins** та сортує всі теки за іменем, потім додаються плагіни, що містяться безпосередньо у теці **plugins**. У всіх теках плагіни сортуються за іменем файлу.
Плагін має розширення **jar** та повинен мати ім'я таке ж, як у основного класу плагіну. Плагін має розширення **jar** та повинен мати ім'я таке ж, як у основного класу плагіну.
Основний клас плагіну має імплементувати інтерфейс **das.tools.np.entity.plugin.PluginInterface**: Основний клас плагіну має імплементувати інтерфейс **das.tools.np.entity.plugin.PluginInterface**:
@@ -15,9 +15,9 @@ public interface PluginInterface {
} }
``` ```
Для зручності було створено проект [NP Plugin Template](../../../plugins/template), який містить інтерфейс та всі необхідні для роботи класи і який потрібно брати за основу для створення свого плагіну. Для зручності було створено проект [NP Plugin Template](#ToDo: add link), який містить інтерфейс та всі необхідні для роботи класи і який потрібно брати за основу для створення свого плагіну.
Також є проект [NP Demo Plugin](../../../plugins/demo), який містить приклад плагіну, що просто виводить усі передані йому ТТН в консоль. Також є проект [NP Demo Plugin](#ToDo: add link), який містить приклад плагіну, що просто виводить усі передані йому ТТН в консоль.
На даний момент (v.1.*) плагіни працюють лише на виведення інформації з додатка. На даний момент (v.1.*) плагіни працюють лише на виведення інформації з додатка.
+2 -7
View File
@@ -1,7 +1,2 @@
@echo off JFX_PATH=full_path_to_jfx
rem Full path to the JavaFX SDK (the folder that contains "lib") start %JAVA_HOME%\bin\javaw.exe -Djdk.gtk.version=2 --module-path %JFX_PATH%\lib --add-modules javafx.controls,javafx.fxml --add-exports javafx.base/com.sun.javafx.event=ALL-UNNAME -jar NovaPoshta.jar
set "JFX_PATH=full_path_to_jfx"
rem The application keeps DB, logs and plugins relative to its own folder
cd /d "%~dp0"
start "" "%JAVA_HOME%\bin\javaw.exe" -Djdk.gtk.version=2 --module-path "%JFX_PATH%\lib" --add-modules javafx.controls,javafx.fxml --add-exports javafx.base/com.sun.javafx.event=ALL-UNNAMED -jar NovaPoshta.jar
+1 -5
View File
@@ -1,7 +1,3 @@
#!/bin/bash #!/bin/bash
# Full path to the JavaFX SDK (the folder that contains "lib")
JFX_PATH=/full/path/to/jfx JFX_PATH=/full/path/to/jfx
${JAVA_HOME}/bin/java -Djdk.gtk.version=2 --module-path ${JFX_PATH}/lib --add-modules javafx.controls,javafx.fxml --add-exports javafx.base/com.sun.javafx.event=ALL-UNNAMED -jar NovaPoshta.jar &
# The application keeps DB, logs and plugins relative to its own folder
cd "$(dirname "$0")" || exit 1
"${JAVA_HOME}/bin/java" -Djdk.gtk.version=2 --module-path "${JFX_PATH}/lib" --add-modules javafx.controls,javafx.fxml --add-exports javafx.base/com.sun.javafx.event=ALL-UNNAMED -jar NovaPoshta.jar &
+4 -13
View File
@@ -1,22 +1,13 @@
## Nova Poshta: Tracker and Organizer ## Nova Poshta: Tracker and Organizer
### _Desktop application to track, organize and manage parcels from Ukrainian delivery operator Nova Poshta_ ### _Desktop application to track, organize and manage parcels from Ukrainian delivery operator Nova Poshta_
[![Java](https://img.shields.io/badge/Java-17-green)](https://adoptium.net/) [![JavaFX](https://img.shields.io/badge/JavaFX-desktop-orange)](https://gluonhq.com/products/javafx/) [![Spring Boot](https://img.shields.io/badge/Spring_Boot-3.2.4-brightgreen)](https://spring.io/projects/spring-boot) [![ControlsFX](https://img.shields.io/badge/ControlsFX-11.2.1-66B2C4)](https://controlsfx.github.io) [![SQLite](https://img.shields.io/badge/SQLite-local_DB-blue)](https://www.sqlite.org/) [![Version](https://img.shields.io/badge/version-1.3-lightgrey)](#) [![Java 8](https://img.shields.io/badge/Java-8-white)](https://www.java.com/) [![ControlsFX](https://img.shields.io/badge/controls-FX-66B2C4)](https://controlsfx.github.io) [![maven](https://img.shields.io/badge/maven-project-blue)](https://maven.apache.org/)
🇺🇦 [Українська версія](README_ua.md)
![Logo](NovaPoshta/help/images/app_logo.png) ![Logo](NovaPoshta/help/images/app_logo.png)
### 📂 Repository
- [NovaPoshta](NovaPoshta/README.md) – the application itself: features, launch and build instructions
- [plugins/template](plugins/template) – template project for writing your own plugin
- [plugins/demo](plugins/demo) – demo plugin that prints the passed numbers to the console
### ⏬ Getting ### ⏬ Getting
📖 Read [NovaPoshta/README.md](NovaPoshta/README.md) 📖 Read [README.md](NovaPoshta/README.md)
You can download the archive from the [Releases section](https://github.com/anrydas/NovaPoshta/releases) or clone the repository. You can download archive from [Releases section](https://github.com/anrydas/NovaPoshta/releases) or clone the repository.
Find the full application documentation in [Ukrainian](NovaPoshta/help/uk/help.md) and [English](NovaPoshta/help/en/help.md). Find full application's documentation at: [Ukrainian](NovaPoshta/help/uk/help.md) and [English](NovaPoshta/help/en/help.md).
###### _Made by -=:dAs:=-_