архитектура web-app по бронированию мест на киносеанс

 
 
 
Сообщения:17
Всем привет. Изучаю джаву для web. Пишу учебный проект web-app, на котром можно бронировать места на киносеансы. Вот кратенько use-case:

- юзер может искать сеансы на интересующие фильмы по кинотеатру/дате/фильму

- для бронирования места юзер регистрируется/аутентифицируется в системе и бронирует место на определенный сеанс
в кинотеатре

- за час до начала он должен его выкупить в кассе, т.е. админ/кассир продает билет и меняет статус в базе на "продан"

- eсли за час до сеанса юзер не выкупает место, то админ/кассир выкидывает его обратно в продажу

Использую PostgerSQL + Spring Data JPA (Hibernate) + Spring Boot + Spring Security. Пока без front-end.

Приложение спроектировано как набор REST сервисов. Бизнес логика работает (юзер делает запрос на бронирование - меняется статус места, может просматривать свои забронированные и выкупленные билеты), т.е. чрез REST-клиента получаю правильные данные из базы в JSON-формате. Показывал проект опытному программисту и он сказал что функционала как такового нет (он front-end разработчик). Он удивился, что базу нужно поддерживать и сказал, что очень круто бы было если бы после того, как юзер зашел на портал ему бы предлагались ближайшие сеансы в расположенных рядом кинотеатрах c красивым отображением фильма и его описанием. И для этого можно подтягивать такую инфу с других порталов (типа ByCard.by).

Так вот у меня возникло несколько вопросов у опытных разработчиков:

1. Какие данные должны быть в базе, если информация о сеансах будет подтягиваться из другого ресурса? И правильно ли
вообще зависеть от других ресурсов?
Схема моей базы click -)) Кратко - есть сеанс, у сеанса есть фильм (у фильма жанр), кинотеатр (у кинотеатра схема мест). Есть место на этот сеанс, у которого есть кроме сеанса категория (vip, parterre, balcony -> стоимость) и юзер.

2. Какую вы бы посоветовали использовать технологию для отображения инфы - JSP как многостраничное приложение или SPA
c каким-нибудь Angular JS + FreeMAker?

3. Может, посоветуете какой ресурс/книгу по тому, как правильно и универсально проектировать back + front web-приложение?

Заранее спасибо за ответы.
 
 
Сообщения:592
Отличный проект! Всячески вас поддерживаю, именно так и надо учиться.

andrejsalkevic:
1. Какие данные должны быть в базе, если информация о сеансах будет подтягиваться из другого ресурса? И правильно ли
вообще зависеть от других ресурсов?


Это все зависит от того, кто ставит задачу (в данном случае от вас). Если нужно взаимодействовать с другими сервисами, значит придется :)

Могу лишь только посоветовать кэшировать их на своей стороне. Во-первых, будет быстрее чем каждый раз дергать еще и сторонний ресурс, а, во-вторых, меньше шансов столкнуться с лимитами от внешнего сайта (когда он просто перестанет вам отвечать или будет это делать с большой задержкой).

andrejsalkevic:
2. Какую вы бы посоветовали использовать технологию для отображения инфы - JSP как многостраничное приложение или SPA
c каким-нибудь Angular JS + FreeMAker?


Решите сами. Если хотите (есть силы) еще и на фронтенд замахиваться, то пишите SPA, если вам интересен только бэкенд, то делайте многостраничное приложение (либо с простым AJAX на jQuery). JSP не рекомендую, т.к. устарел уже, посмотрите в сторону Thymeleaf, например.
 
Модераторы:Нет
Сейчас эту тему просматривают:Нет