Update README.md
This commit is contained in:
119
README.md
119
README.md
@@ -0,0 +1,119 @@
|
||||
# PKI Management (JavaFX)
|
||||
|
||||
Современное настольное приложение на JavaFX для управления PKI-ресурсами с модульной архитектурой, настраиваемой навигацией и системой прав доступа.
|
||||
|
||||
## Особенности
|
||||
|
||||
- Компонентная навигация:
|
||||
- `MenuItem` — визуальные блоки-оглавления
|
||||
- `SubMenuItem` — кликабельные пункты подменю
|
||||
- Управление видимостью пунктов (вкл/выкл), автоматическое скрытие пустых блоков
|
||||
- Модульная архитектура:
|
||||
- Пример модуля: `Test 1`
|
||||
- Настройки с пользовательским и админским режимами
|
||||
- Админский доступ:
|
||||
- Диалог ввода пароля с автофокусом
|
||||
- Переключение интерфейса настроек (User/Admin)
|
||||
- Конфигурация:
|
||||
- Хранится в скрытой папке пользователя `pki_management` (Windows: `C:\\Users\\{user}\\pki_management\\config.properties`)
|
||||
- Доступ через `ConfigManager` (singleton)
|
||||
|
||||
## Стек
|
||||
|
||||
- Java 21, JavaFX 21 (Controls + FXML)
|
||||
- Maven
|
||||
|
||||
## Структура проекта
|
||||
|
||||
```
|
||||
src/main/java/com/dsol/pki_management/
|
||||
├─ app/ # Запуск приложения
|
||||
│ ├─ PKIApplication.java
|
||||
│ └─ Launcher.java
|
||||
├─ controllers/ # Контроллеры экранов
|
||||
│ ├─ MainController.java
|
||||
│ └─ SettingsController.java
|
||||
├─ components/ # Переиспользуемые UI-компоненты
|
||||
│ ├─ MenuItem.java
|
||||
│ └─ SubMenuItem.java
|
||||
├─ modules/ # Функциональные модули
|
||||
│ └─ test1/
|
||||
│ └─ Test1Controller.java
|
||||
└─ config/ # Конфигурация приложения
|
||||
├─ ConfigManager.java
|
||||
└─ AppConfig.java
|
||||
|
||||
src/main/resources/com/dsol/pki_management/
|
||||
├─ views/
|
||||
│ └─ main.fxml
|
||||
├─ components/
|
||||
│ ├─ menu-item.fxml
|
||||
│ └─ sub-menu-item.fxml
|
||||
└─ modules/
|
||||
├─ settings/
|
||||
│ └─ settings-view.fxml
|
||||
└─ test1/
|
||||
└─ test1-view.fxml
|
||||
```
|
||||
|
||||
## Быстрый старт
|
||||
|
||||
1) Установите JDK 21 и Maven
|
||||
|
||||
2) Сборка и запуск
|
||||
|
||||
```bash
|
||||
# Windows / Linux / macOS
|
||||
mvn clean javafx:run
|
||||
```
|
||||
|
||||
Либо через главный класс:
|
||||
|
||||
```bash
|
||||
mvn -q -Dexec.mainClass="com.dsol.pki_management.app.Launcher" exec:java
|
||||
```
|
||||
|
||||
## Конфигурация
|
||||
|
||||
- Путь: `C:\\Users\\{user}\\pki_management\\config.properties` (Windows)
|
||||
- Создается автоматически при первом запуске
|
||||
- Пример ключей:
|
||||
- `admin.password` — пароль администратора (по умолчанию `admin123`)
|
||||
- `app.language`, `app.theme` — пользовательские настройки
|
||||
|
||||
Использование в коде:
|
||||
|
||||
```java
|
||||
var config = ConfigManager.getInstance();
|
||||
String pwd = config.getProperty(AppConfig.KEY_ADMIN_PASSWORD, AppConfig.DEFAULT_ADMIN_PASSWORD);
|
||||
config.setProperty(AppConfig.KEY_THEME, "light");
|
||||
config.saveConfig();
|
||||
```
|
||||
|
||||
## UX-функции
|
||||
|
||||
- Гамбургер-меню слева
|
||||
- Отображение навигации как дерева
|
||||
- Зачеркивание скрытых SubMenu пунктов
|
||||
- Скрытие `MenuItem`, если все дочерние скрыты
|
||||
|
||||
## Дорожная карта
|
||||
|
||||
- Локализация интерфейса (i18n)
|
||||
- Темы (light/dark)
|
||||
- Новые модули (например, управление сертификатами, аудит)
|
||||
- Экспорт/импорт настроек
|
||||
|
||||
## Разработка
|
||||
|
||||
```bash
|
||||
# Сборка
|
||||
mvn clean package
|
||||
|
||||
# Запуск с логами
|
||||
mvn -Dprism.verbose=true javafx:run
|
||||
```
|
||||
|
||||
## Лицензия
|
||||
|
||||
Проект распространяется на условиях лицензии Apache-2.0.
|
||||
|
||||
Reference in New Issue
Block a user