Это первая лабораторная работа по курсу "Разработка клиент-серверных бизнес-приложений"
- Создать шаблон документа в Microsoft Word формата .dotx или .docx.
- Вписать в колонтитулах свою Фамилию, Имя, Отчество, текущий год, курс, группу.
- Придумать любой текст документа, например, заявку, договор, гарантийный талон, зачетную книжку, журнал группы и т.п.
- В документе вставить не менее 3-х «мест для заполнения» конкретных текстовых данных. Например, в договоре могут быть такие места как: ФИО или реквизиты сторон, номер договора, дата договора.
- В шаблоне документа придумать таблицу, содержащую не менее четырех колонок. Таблица должна подходить по смыслу к придуманному шаблону документа. По смыслу одна из колонок обязательно должна содержать текст, одна – дату, и одна – числа с двумя знаками после запятой.
- Оставить в шаблоне таблицы одну строку-заголовок (с названиями), и одну пустую строку для будущих данных.
- Величину шрифта, начертание и цвет в заголовке таблицы должны быть одинаковыми для всех колонок, а в колонках для строк данных – обязательно все разные.
- Выравнивание заголовков колонок и самих данных следующее: даты – выравнивание по центру колонку, числа – по правому краю, остальные колонки – по левому краю или по ширине.
- Создать desktop, мобильное или WEB-приложение на любом языке программирования.
- Добавить на форму ваши данные: ФИО, год, курс, группа.
- Создать поля для ввода информации, которые потом будут переноситься в «места для заполнения» шаблона-документа Word.
- Создать на форме таблицу с таким же количеством, порядком, названиями колонок, как и в шаблоне документа Word. Шрифт, цвет и начертание – на ваше усмотрение.
- Создать действие (кнопку, ссылку, …) для заполнения (перезаполнения) на экране задаваемого пользователем количества строк таблицы. Данные в таблице генерировать любые случайные, но все строки должны быть разными.
- Даты везде отображать только в формате ДД.ММ.ГГГГ. Числовые данные генерировать разной длины (т.е. чтобы можно было протестировать сортировку “как числа” в пункте 8 ниже).
- Выравнивание в столбцах повторить как в шаблоне документа, т.е. текст по левому краю или ширине, даты – посередине, числа – по правому краю.
- Обеспечить сортировку данных в колонках таблицы по возрастанию и убыванию, при этом текст должен сортировать как текст, даты – как даты, а числа – как числа.
- Создать возможность вызова диалогового окна для выбора на диске созданного файла шаблона Word. Обеспечить фильтрацию выбора только файлов (.dotx и .docx).
- (требование для десктопных приложений) при открытии окна для выбора шаблона по умолчанию обязательно предлагать текущую папку откуда запущено приложение или где лежит шаблон.
- Создать кнопку (ссылку) «Создать документ». По нажатию должен открыться документ Word на основе выбранного шаблона. На данном шаге его заполнение не требуется.
- Автоматизировать экспорт данных с экранной формы в «места для заполнения» документа Microsoft Word.
- Автоматизировать заполнение таблицы в документе сгенерированными на экране данными.
- Форматирование текста и ячеек таблицы должно определяться самим шаблоном. Т.е. при изменении шаблона – должен соответствующим образом меняться результат, без необходимости внесения изменений в код программы.
- В зависимости от варианта исполнителя (номера в списке группы на сайте) автоматизировать следующее действие в созданном документе: Заменить все заглавные буквы на строчные
- Заполненный документ достаточно оставлять открытым на экране, т.е. его сохранение не требуется.
- Призовой шаг (по желанию) [количество набранных баллов удваивается]:
- Обеспечить быстрое заполнение таблицы размером не менее 10 тысяч строк. Под быстрым понимается любой метод, который обеспечит вам хотя бы 3-х кратное ускорение по сравнению с методом последовательной вставки значений в каждую ячейку. Если вам при этом удастся сохранить и форматирование колонок указанными стилями, то баллы утраиваются. (Подсказки вариантов решения: процедура ConvertToTable; через xml).
The project is a standard Maven project. To run it from the command line,
type mvnw
(Windows), or ./mvnw
(Mac & Linux), then open
http://localhost:8080 in your browser.
You can also import the project to your IDE of choice as you would with any Maven project. Read more on how to set up a development environment for Vaadin projects (Windows, Linux, macOS).
To create a production build, call mvnw clean package -Pproduction
(Windows),
or ./mvnw clean package -Pproduction
(Mac & Linux).
This will build a JAR file with all the dependencies and front-end resources,
ready to be deployed. The file can be found in the target
folder after the build completes.
Once the JAR file is built, you can run it using
java -jar target/documentgenerator-1.0-SNAPSHOT.jar
MainView.java
insrc/main/java
contains the navigation setup (i.e., the side/top bar and the main menu). This setup uses App Layout.views
package insrc/main/java
contains the server-side Java views of your application.views
folder infrontend/
contains the client-side JavaScript views of your application.themes
folder infrontend/
contains the custom CSS styles.
- Read the documentation at vaadin.com/docs.
- Follow the tutorials at vaadin.com/tutorials.
- Watch training videos and get certified at vaadin.com/learn/training.
- Create new projects at start.vaadin.com.
- Search UI components and their usage examples at vaadin.com/components.
- Discover Vaadin's set of CSS utility classes that enable building any UI without custom CSS in the docs.
- Find a collection of solutions to common use cases in Vaadin Cookbook.
- Find Add-ons at vaadin.com/directory.
- Ask questions on Stack Overflow or join our Discord channel.
- Report issues, create pull requests in GitHub.
To build the Dockerized version of the project, run
docker build . -t documentgenerator:latest
Once the Docker image is correctly built, you can test it locally using
docker run -p 8080:8080 documentgenerator:latest