Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/katarinamolotova/smart-calc-v3.0
https://github.com/katarinamolotova/smart-calc-v3.0
Last synced: 2 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/katarinamolotova/smart-calc-v3.0
- Owner: katarinamolotova
- Created: 2023-09-27T15:33:31.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2023-10-05T18:47:15.000Z (over 1 year ago)
- Last Synced: 2023-10-06T09:45:14.712Z (over 1 year ago)
- Language: Java
- Size: 204 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# SmartCalc v3.0
Интерфейс написан с помощью __Javafx__, как широко известной в узких кругах платформой
для создания GUI приложений на Java.Для создания форм использовались `.fxml` файлы. Посмотреть можно в папке `resources/forms`.
Intellij IDEA имеет встроенный Scene Builder, что упрощает разработку интерфейса.![SceneBuilder](https://gluonhq.com/wp-content/uploads/2016/03/scene-builder-in-action.jpg)
Был использован шаблон проектирования MVVM.
BackEnd написан полностью на Java.
# Логирование
Для логирования использовалась библиотека [log4j](https://logging.apache.org/log4j/2.x/), как единственная, которая позволяла
настраивать период ротации в днях, месяцах и т.п.Конфигурацию можно настраивать как в файле `.properies`, так и `.xml`.
Было сделано 4 разных логировщика, потому что программно поменять период ротации
у одного логировщика нельзя. Конфигурацию можно посмотреть в `resorces/log4j2.xml`.Логи сохраняются внутри приложения в папке `logs`.
# Установщик
В качестве настройки установщиков использовалось приложения [install4j](https://www.ej-technologies.com/).
Оно позволяет собирать, как обычные архивы, так и установщики для разных операционных
систем с тонкой настройкой.[Ссылка](https://disk.yandex.ru/d/uyuAEDPTQgISXg) на установщики для всех macos, linux и windows.
# Стили, настройки и история операций
Стили настраиваются с помощью `.css`. Файл перезаписывается программно и повторно
применяется к формам. Сохраняются стили в файл `resources/settings/settings.properties` при закрытии приложения.История операция сохраняет с помощью xml файла `resources/history/history.xml` так же
при закрытии приложения. Для чтения и записи используется встроенная библиотека
`javax.xml.bind`