Skip to content

Приложение для распространения билетов

License

Notifications You must be signed in to change notification settings

EpicDima/Theatraxity

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Theatraxity

Приложение разработано во время прохождения технологической практики в университете.

Языки программирования: Java (backend), JS+HTML+CSS (frontend) Для разработки использовалась система сборки Gradle, так как по сравнению с двумя другими наиболее популярными (Maven и Ant) содержит ряд их преимуществ и при этом гибкость.

Проект разделён на логические модули, которые являются слоями (если говорить о Clean Architecture):

  • domain является главным модулем, который не имеет зависимостей и содержит в себе так называемую бизнес-логику
  • dal является модулем для доступа к данным (в данном случае для работы с СУБД MySQL). DAL - это аббревиатура от Data Access Layer
  • фронтенд и логика его взаимодействия с бэкедом находится в модуле Theatraxity в папке src/main
  • Lib - модуль, который содержит другие независимые подмодули (библиотеки):
    • builder обрабатывает аннотацию @Builder на этапе компиляции с помощью изменения байткода, благодаря чему не нужно писать лишний boilerplate код (идея взята из библиотеки Lombok)
    • dal содержит классы, интерфейсы, аннотации для работы с реляционными базами данных, при этом не реализуя доступ к конкретной из них (напоминает Hibernate)
    • controller содержит вспомогательные классы и аннотации для создания контроллеров (который принимает запросы и посылает ответы от клиентов, то есть фронтенда) на основе сервлетов (Java Servlets) (идея из Spring)
    • di (аббревиатура Dependency Injection) связывает модули друг с другом, основной аннотацией является @Inject (идея позаимствована в основном из библиотеки Dagger2)