- Приложение представляет собой биржу труда с web-интерфейсом:
- Пользователь может быть как кандидатом так и HR. Кандидаты могут вносить в систему данные о себе:
- HR могут публиковать вакансии о работе:
- Проект построен на сервлетах и JSP. Есть 2 слоя: слой контроллеров и слой по работе с БД PostgreSQL (реализован на JDBC, также есть возможность хранить данные в памяти с помощью класса MemStore).
- В проекте используется шаблон MVC. Все виды открываются через GET-методы сервлетов, что позволяет отправлять необходимые данные на виды, представленные JSP-страницами.
- Для реализации логики отображения на JSP-страницах используются Scriplets и JSTL.
- JSP-страницы реализованы на HTML и Bootstrap.
- Реализована возможность добавления фото для кандидата, которое после добавления можно также скачать:
- Только авторизованные пользователи могут просматривать списки вакансий и кандидатов,
а также добавлять новые. Авторизация построена на основе фильтра (класс AuthFilter)
и сервлета, выполняющего проверку пароля на соответствие данным из БД (класс AuthServlet). Все зарегистрированные пользователи
хранятся в БД. Форма авторизации:
- Есть возможность регистрации новых пользователей, которая реализуется сервлетом RegServlet. Форма регистрации:
- В качестве системы логирования используется связка log4j и slf4j.
- Для работы с JSON-форматом используется библиотека GSON.
- Для отображения авторизованного пользователя на всех страницах используется объект Session.
- С помощью JS и JQuery сделана валидация всех форм приложения:
- Для отображения списка городов на странице добавления и редактирования кандидатов используется технология AJAX (посылается AJAX-запрос с помощью JQuery на сервлет CityServlet):
Для сборки проекта необходимо:
- Установить JDK 14.
- Установить Maven.
- Установить сервер БД PostgreSQL, задать логин - postgres, пароль - password.
- Установить Tomcat.
- Скачать исходный код проекта.
- Перейти в корень проекта, где лежит файл
pom.xml
. - Собрать проект командой
mvn -DskipTests=true package
. При успешной сборке должна появиться папка target cdreamjob-2.war
. - Переименовать war-архив в
dreamjob.war
. - Создать в pg_Admin БД dreamjob.
- Открыть Query Tool для созданной БД и запустить SQL-скрипт
schema.sql
, находящийся в папкеdb
: - Скопировать
dreamjob.war
в папкуwebapps
Tomcat:
- Скопировать файл
db.properties
в папкуbin
Tomcat:
- Запустить сервер с помощью
startup.bat
из папкиbin
Tomcat.
Переходим на главную страницу приложения:
Отредактируем добавленную вакансию: