Update README.md
This commit is contained in:
51
README.md
51
README.md
@@ -1,29 +1,37 @@
|
|||||||
# PKI Management (JavaFX)
|
# PKI Management (JavaFX)
|
||||||
|
|
||||||
Современное настольное приложение на JavaFX для управления PKI-ресурсами с модульной архитектурой, настраиваемой навигацией и системой прав доступа.
|
<p align="center">
|
||||||
|
<img src="https://img.shields.io/badge/Java-ED8B00?style=for-the-badge&logo=openjdk&logoColor=white" alt="Java badge"/>
|
||||||
|
<img src="https://img.shields.io/badge/JavaFX-1B6AC6?style=for-the-badge&logo=java&logoColor=white" alt="JavaFX badge"/>
|
||||||
|
<img src="https://img.shields.io/badge/Maven-C71A36?style=for-the-badge&logo=apache-maven&logoColor=white" alt="Maven badge"/>
|
||||||
|
<img src="https://img.shields.io/badge/Windows-0078D6?style=for-the-badge&logo=windows&logoColor=white" alt="Windows badge"/>
|
||||||
|
<img src="https://img.shields.io/badge/Architecture-Modular-4CAF50?style=for-the-badge" alt="Modular architecture badge"/>
|
||||||
|
</p>
|
||||||
|
|
||||||
## Особенности
|
> Современное настольное приложение на JavaFX для управления PKI-ресурсами с модульной архитектурой, настраиваемой навигацией и системой прав доступа.
|
||||||
|
|
||||||
- Компонентная навигация:
|
## ✨ Особенности
|
||||||
|
|
||||||
|
- **Компонентная навигация**
|
||||||
- `MenuItem` — визуальные блоки-оглавления
|
- `MenuItem` — визуальные блоки-оглавления
|
||||||
- `SubMenuItem` — кликабельные пункты подменю
|
- `SubMenuItem` — кликабельные пункты подменю
|
||||||
- Управление видимостью пунктов (вкл/выкл), автоматическое скрытие пустых блоков
|
- Управление видимостью пунктов (вкл/выкл), автоматическое скрытие пустых блоков
|
||||||
- Модульная архитектура:
|
- **Модульная архитектура**
|
||||||
- Пример модуля: `Test 1`
|
- Пример модуля: `Test 1`
|
||||||
- Настройки с пользовательским и админским режимами
|
- Настройки с пользовательским и админским режимами
|
||||||
- Админский доступ:
|
- **Админский доступ**
|
||||||
- Диалог ввода пароля с автофокусом
|
- Диалог ввода пароля с автофокусом
|
||||||
- Переключение интерфейса настроек (User/Admin)
|
- Переключение интерфейса настроек (User/Admin)
|
||||||
- Конфигурация:
|
- **Конфигурация**
|
||||||
- Хранится в скрытой папке пользователя `pki_management` (Windows: `C:\\Users\\{user}\\pki_management\\config.properties`)
|
- Хранится в скрытой папке пользователя `pki_management` (Windows: `C:\Users\{user}\pki_management\config.properties`)
|
||||||
- Доступ через `ConfigManager` (singleton)
|
- Доступ через `ConfigManager` (singleton)
|
||||||
|
|
||||||
## Стек
|
## 🧰 Стек
|
||||||
|
|
||||||
- Java 21, JavaFX 21 (Controls + FXML)
|
- Java 21, JavaFX 21 (Controls + FXML)
|
||||||
- Maven
|
- Maven
|
||||||
|
|
||||||
## Структура проекта
|
## 🗂️ Структура проекта
|
||||||
|
|
||||||
```
|
```
|
||||||
src/main/java/com/dsol/pki_management/
|
src/main/java/com/dsol/pki_management/
|
||||||
@@ -56,11 +64,10 @@ src/main/resources/com/dsol/pki_management/
|
|||||||
└─ test1-view.fxml
|
└─ test1-view.fxml
|
||||||
```
|
```
|
||||||
|
|
||||||
## Быстрый старт
|
## 🚀 Быстрый старт
|
||||||
|
|
||||||
1) Установите JDK 21 и Maven
|
1. Установите JDK 21 и Maven
|
||||||
|
2. Сборка и запуск
|
||||||
2) Сборка и запуск
|
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Windows / Linux / macOS
|
# Windows / Linux / macOS
|
||||||
@@ -73,9 +80,9 @@ mvn clean javafx:run
|
|||||||
mvn -q -Dexec.mainClass="com.dsol.pki_management.app.Launcher" exec:java
|
mvn -q -Dexec.mainClass="com.dsol.pki_management.app.Launcher" exec:java
|
||||||
```
|
```
|
||||||
|
|
||||||
## Конфигурация
|
## ⚙️ Конфигурация
|
||||||
|
|
||||||
- Путь: `C:\\Users\\{user}\\pki_management\\config.properties` (Windows)
|
- Путь: `C:\Users\{user}\pki_management\config.properties` (Windows)
|
||||||
- Создается автоматически при первом запуске
|
- Создается автоматически при первом запуске
|
||||||
- Пример ключей:
|
- Пример ключей:
|
||||||
- `admin.password` — пароль администратора (по умолчанию `admin123`)
|
- `admin.password` — пароль администратора (по умолчанию `admin123`)
|
||||||
@@ -90,21 +97,21 @@ config.setProperty(AppConfig.KEY_THEME, "light");
|
|||||||
config.saveConfig();
|
config.saveConfig();
|
||||||
```
|
```
|
||||||
|
|
||||||
## UX-функции
|
## 💡 UX-функции
|
||||||
|
|
||||||
- Гамбургер-меню слева
|
- Гамбургер-меню слева
|
||||||
- Отображение навигации как дерева
|
- Отображение навигации как дерева
|
||||||
- Зачеркивание скрытых SubMenu пунктов
|
- Зачеркивание скрытых SubMenu пунктов
|
||||||
- Скрытие `MenuItem`, если все дочерние скрыты
|
- Скрытие `MenuItem`, если все дочерние скрыты
|
||||||
|
|
||||||
## Дорожная карта
|
## 🛣️ Дорожная карта
|
||||||
|
|
||||||
- Локализация интерфейса (i18n)
|
- Локализация интерфейса (i18n)
|
||||||
- Темы (light/dark)
|
- Темы (light/dark)
|
||||||
- Новые модули (например, управление сертификатами, аудит)
|
- Новые модули: управление сертификатами, аудит
|
||||||
- Экспорт/импорт настроек
|
- Экспорт/импорт настроек
|
||||||
|
|
||||||
## Разработка
|
## 👩💻 Разработка
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Сборка
|
# Сборка
|
||||||
@@ -114,6 +121,10 @@ mvn clean package
|
|||||||
mvn -Dprism.verbose=true javafx:run
|
mvn -Dprism.verbose=true javafx:run
|
||||||
```
|
```
|
||||||
|
|
||||||
## Лицензия
|
## 📄 Лицензия
|
||||||
|
|
||||||
Проект распространяется на условиях лицензии Apache-2.0.
|
Проект распространяется на условиях лицензии Apache-2.0.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
> Бейджи оформлены с помощью коллекции [markdown-badges](https://github.com/Ileriayo/markdown-badges).
|
||||||
|
|||||||
Reference in New Issue
Block a user