Skip to content

RideSVEL/PaymentSYSTEM

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PaymentSYSTEM

Final project of EPAM

На странице представлена информация по заданию SummaryTask4.

Задание

Задача сформулирована следующим образом.

Разработать WEB-приложение, которое поддерживает заданную функциональность. Требования к реализации следующие:

  1. На основе сущностей предметной области создать классы которые им соответствуют.
  2. Классы и методы должны иметь именования, которые отражают их функциональность, и должны быть грамотно разнесены по пакетам.
  3. Оформление кода должно соответствовать Java Code Convention.
  4. Информацию о предметной области хранить в базе данных (в качестве СУБД рекомендуется использовать MYSQL).
  5. Для доступа к данным использовать API JDBC с использованием пула соединений (не допускается использование ORM Hibernate. Toplink и т.д.).
  6. Приложение должно поддерживать работу с кириллицей (быть мноrоязычным), в том числе при харнение информации в БД:
  • должна быть возможность переключения языка интерфейса;
  • должна быть поддержка ввода, вывода и хранения информации (в БД), записанной на разных языках(см. ниже);
  • в качестве поддерживаемых языков выбрать минимум два: один на основе кириллицы, другой на основе латиницы.
  1. Архитектура приложения должна соответствовать шаблону MVC.
  2. При реализации алгоритмов Бизнес-погики использовать шаблоны.
  3. Используя сервлеты и JSP, реализовать функциональность, приведенную в постановке задачи.
  4. B качестве контейнера сервлетов использовать Apache Tomcat.
  5. На страницах JSP применять теги из библиотеки JSTL и разработанные собственные теги (минимум один сustom tag library тег и минимум один tag file тег).
  6. При разработке использовать сессии, фильтры, слушатели.
  7. Использовать журналирование событий с использованием библиотеки Log4j или Logback.
  8. Код должен содержать комментарии документатора (все классы верхнего уровня, нетривиальные методы и конструкторы).
  9. Написать модульные тесты которые по максимуму покрывают функциональность.
  10. Самостоятельное расширение постановки задачи по функциональности приветствуется.

Дополнительно, к требованиям изложенным выше, более чем желательно обеспечить выполнение следующих требований.

  1. Реализовать разграничение прав доступа пользователей системы к компонентам приложения.
  2. Реализовать защиту от повторной отправки данных на сервер при обновлении страницы.
  3. Все поля ввода должны быть с валидацией данных.

Далее идет словесное описание бизнес области (у каждого своя область).

Платежи

Клиент регистрируется в системе и имеет одну или несколько Кредитных карт, каждая из которых соответствует некоторому Счету в системе. Клиент при помощи cчета может осуществить Платеж. Платеж имеет один из двух статусов: 'подготовленный' или 'отправленный'. (Опционально: реализовать возможность генерации pdf-отчета о платеже)

Клиент имеет личный кабинет, в котором может просматривать информацию о своих платежах и счетах.

Необходимо реализовать возможность сортировки:

платежей

  • по номеру;
  • по дате (от старых к новым, от новых к старым);

счетов

  • по номеру;
  • по наименованию счета;
  • по остатку.

Клиент может пополнить или заблокировать один из своих счетов. Для разблокирования счета клиент должен сделать запрос на разблокирование администратору.

Администратор системы владеет правами:

  • блокирования / разблокирования пользователя;
  • блокирования / разблокирования одного из счетов пользователя.

About

Final project

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published