Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.
Внимание! Некоторое время письма не доходят до аккаунтов MAIL RU GROUP, не доходят на все почтовые ящики mail.ru, inbox.ru, bk.ru. Пишите им жалобы, чтобы быстрее восстановили получение писем, регистрируйтесь через яндекс почту и gmail, туда письма с активизацией доходят.

Вернуться   Форум программистов > Java > Java для Web (EE, Servlet, JSP, Tomcat, Spring MVC)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 08.03.2018, 23:46   #1
*DOcent*
Новичок
 
Регистрация: 06.03.2018
Сообщений: 2
Репутация: 10
По умолчанию архитектура web-app по бронированию мест на киносеанс

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

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

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

Заранее спасибо за ответы.
Вложения
Тип файла: doc Cinema.doc (178.5 Кб, 7 просмотров)
*DOcent* вне форума   Ответить с цитированием
Старый 09.03.2018, 00:02   #2
Alex11223
Модератор
Заслуженный модератор
 
Регистрация: 12.01.2011
Сообщений: 17,401
Репутация: 3353

icq: 512-765
skype: alexp.frl
По умолчанию

Цитата:
Сообщение от *DOcent* Посмотреть сообщение
JSP как многостраничное приложение или SPA
c каким-нибудь Angular JS + FreeMAker?
Не знаю в чем особенность FreeMaker, но вроде бы это обычный движок для шаблонов ничем принципиально не отличающийся от JSP, так что выбор странный.

Мне JSP не понравился, я Thymeleaf использовал когда писал 1 раз веб проект на Java.

SPA делать/поддерживать/тестировать как правило намного сложнее, поэтому по возможности лучше избегать.

Цитата:
Сообщение от *DOcent* Посмотреть сообщение
книгу по тому, как правильно и универсально проектировать
Так не бывает.
Нельзя просто прочитать книгу и сделать "правильно". А что такое "универсально" вообще непонятно, делать всё рассчитанным на "все" возможные случаи (a.k.a. оверинжиниринг) тоже не стоит.

https://ru.hexlet.io/blog/posts/traps-learning
http://www.programmersforum.ru/showthread.php?t=303485

А зачем делать документ Ворда для 1 картинки?)

Последний раз редактировалось Alex11223; 09.03.2018 в 00:32.
Alex11223 вне форума   Ответить с цитированием
Старый 09.03.2018, 10:35   #3
*DOcent*
Новичок
 
Регистрация: 06.03.2018
Сообщений: 2
Репутация: 10
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение

А зачем делать документ Ворда для 1 картинки?)
Да что-то только так получилось вставить без необходимости зумирования картинки из DB-designer -))

Спасибо. Я понимаю, что нельзя спроектировать универсальное приложение, просто интересно есть ли какие-то best practices в одном месте/книге.

А по поводу базы - не могли бы уточнить все-таки как будет соотноситься моя база с данными из других ресурсов? Мне просто немного нова идея использования данных о киносеансах из других ресурсов. Такое вообще практикуется?
*DOcent* вне форума   Ответить с цитированием
Старый 09.03.2018, 12:05   #4
Alex11223
Модератор
Заслуженный модератор
 
Регистрация: 12.01.2011
Сообщений: 17,401
Репутация: 3353

icq: 512-765
skype: alexp.frl
По умолчанию

Ну по ссылке выше вроде бы полно разных best practices, в одном месте вряд ли.

А что с базой? Смотрите какие данные отдают эти ресурсы и добавляйте нужные вам таблицы/поля. Возможно придется что-то конвертировать если несколько ресурсов с разными форматами или неудобный вам формат.
Цитата:
Сообщение от *DOcent* Посмотреть сообщение
Мне просто немного нова идея использования данных о киносеансах из других ресурсов. Такое вообще практикуется?
Что именно? Очевидно все ресурсы продающие что-то получают откуда-то эти данные (от поставщика и т.п.), и вряд ли вручную.

Если "ресурс" это такой же сервис, а не его поставщик (кинотеатр или как там устроено я не в курсе), то это имеет смысл например для мониторинга информации, отображения в удобном виде, автоматизации, ... А если только для предоставления той же услуги, то это что-то странное.
Alex11223 вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание web app - java,rest api firestorm13 Фриланс 0 15.12.2017 01:13
Доработка сайта + добавление 2 сервиса по онлайн бронированию Алекс331 Фриланс 0 14.11.2015 22:47
Требуется web-программист, web-верстальщик и web-дизайнер OlgaBB Фриланс 0 12.08.2013 18:59
Web-приложение: архитектура и инструмент ildar323 JavaScript, Ajax 0 15.08.2011 14:33


08:26.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru