Система Больница. Врач определяет диагноз, делает назначение Пациенту (процедуры, лекарства, операции). Назначение может выполнить Медсестра (процедуры, лекарства) или Врач (любое назначение). Пациент может быть выписан из Больницы, при этом фиксируется окончательный диагноз.
Необходимо построить веб-приложение, поддерживающую следующую функциональность:
- На основе сущностей предметной области создать классы их описывающие.
- Классы и методы должны иметь отражающую их функциональность названия и должны быть грамотно структурированы по пакетам
- Информацию о предметной области хранить в БД, для доступа использовать API JDBC с использованием пула соединений, стандартного или разработанного самостоятельно. В качестве СУБД рекомендуется MySQL.
- Приложение должно поддерживать работу с кириллицей (быть многоязычной), в том числе и при хранении информации в БД.
- Код должен быть документирован.
- Приложение должно быть покрыто Юнит-тестами
- При разработке бизнес логики использовать сессии и фильтры, и события в системе обрабатывать с помощью Log4j.
- В приложении необходимо реализовать Pagination, Transaction в зависимости от Вашего проекта
- Используя сервлеты и JSP, реализовать функциональности, предложенные в постановке конкретной задачи.
- В страницах JSP применять библиотеку JSTL
- Приложение должно корректно реагировать на ошибки и исключения разного рода (Пользователь никогда не должен видеть stack-trace на стороне front-end).
- В приложении должна быть реализована система Авторизации и Аутентификации
- JSP + JSTL;
- Servlets;
- JDBC;
- Log4J;
- JUnit.
- Scriplets;
- Applets;
- Spring / EJB;
- Hibernate, JPA.
- Mockito;
- Apache commons;
- Slf4J;
- Собственные теги;
- Собственная Аннотация и Исключения.
- Установленный JDK 9.0 (работоспособность приложения гарантирована при использовании версии 9.0.4)
- Установленная СУБД MySQL (работоспособность приложения гарантирована при использовании версии 5.7)
- Установленный Apache Maven (работоспособность приложения гарантирована при использовании версии 3.3.9)
а) Из командной строки:
- Открыть корневую директорию проекта
- Выполнить вход в командную строку MySQL командой "mysql -u root -p --default-character-set=utf8" (будет запрошен пароль)
- Выполнить команду "source sql/hospital.sql;", которая создаст базу данных "Hospital" и заполнит ее демо данными
- Выполнить выход из командной строки MySQL командой "exit;"
- При необходимости изменить настройки подключения к базе данных в файле
\src\main\resources\META-INF\context.xml
По умолчанию:- username="root"
- password="root"
- url="jdbc:mysql://localhost:3306/hospital?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8"
- Выполнить команду "mvn compile" для компиляции исходного кода
- Выполнить команду "mvn package" для упаковки проекта в WAR
Запуск осуществляется при помощи Maven плагина "Apache Tomcat Maven Plugin :: Tomcat 7.x"
а) Из командной строки:
- Открыть корневую директорию проекта
- Выполнить команду "mvn org.apache.tomcat.maven:tomcat7-maven-plugin:2.2:run-war-only -f pom.xml"
- Запущенное приложение должно быть доступно по адресу http://localhost:8080
Антон Евтух