Проект написан на ЯП Java с использованием фреймворка Spring, БД MySQL, а также с помощью HTML и CSS. Структура проекта соответствует схеме MVC. Таким образом, все файлы проекта (за исключением файлов свойств, зависимостей и т.д.) попадают под одну из категорий: models, views, controllers.
Сервис представляет собой сайт реализующий работу биржи криптовалют. Пользователь может покупать криптовалюту, продавать свои активы в виде криптовалюты, а также воспользоваться услугами брокера. На сайте присутствует регистрация и авторизация пользователей. У зарегистрированных пользователей может быть несколько из трёх ролей: user, broker, admin.
Сервис работает с базой данных, в которой хранится информация об криптовалютах, кошельках пользователей, пользователях и клиентах брокеров. Поэтому под категорию моделей попадают все классы данных, хранящихся в БД, репотизориев и сервисов. Ссылка на директорию models.
Работу сервиса отображают страницы сайта. Поэтому под категорию представлений попадают HTML шаблоны страниц, которые могут отображать различную информацию, в зависимости от различных условий (роль пользователя, наполнение базы данных и т.д.). Ссылка на директорию templates.
Для того, чтобы загружать страницы сайта с нужной информацией, а также для обработки POST запросов нужны классы, которые будут всё это делать. Под эту категорию как раз попадают контроллеры. Они достают из БД нужные данные, а затем отправляют их на страницы, которые их уже отображают нужным образом. Также контроллеры формы на страницах, добавляя в БД новые данные. Ссылка на директорию controllers.
Чтобы запустить данный проект на своём пк, нужно:
- В среде разработки Intellij Idea создать Spring Boot проект.
- Подключить к проекту данный репозиторий.
- Сделать update проекта с репозитория.
- В СУБД MySQL создать базу данных.
- В файле application.properties ввести нужные название базы данных, имя пользователя (стандартно "root") и пароль.
spring.datasource.url=jdbc:mysql://${MYSQL_HOST:localhost}:3306/<название_БД>
spring.datasource.username=<имя_пользователя>
spring.datasource.password=<пароль>
- После этого можно запускать проект и после успешного запуска открывать в браузере ссылку