Суть тестового задания: Создание депозита юзером для получения прибыли по депозиту.
Язык: PHP >=7.4
Framework: Laravel >= 8
Database: MySQL
План
1 - Развернуть таблицу с помощью миграций
2 - Развернуть Авторизацию, Регистрацию, Создать Кошелек пользователя при регистрации
3 - Вывести баланс пользователя
4 - Создать простую форму POST Для пополнения баланса (только для авторизованных)
Сопровождаются транзакцией типа - enter
5 - Создать простую форму POST Для вклада на депозит со снятием с баланса(только для авторизованных)
Сопровождаются транзакцией типа - create_deposit
Вводные:
Сумма депозита: от 10 до 100 единиц
Процент начисления: 20%
6 - Создать Команду которая будет начислять раз в минуту процент от депозита на баланс пользователя.
Сопровождаются транзакцией типа - accrue
Количество начислений: 10 для одного депозита
1 начисление в минуту
1 начисление 20% от тела депозита
После последнего начисления, депозит должен изменить статус на закрытый.
Сопровождаются транзакцией типа - close_deposit
7 - Вывести таблицу с депозитами текущего юзера(ID, Сумма вклада, Процент, Количество текущих начислений, Сумма начислений, Статус депозита, Дата )
8 - Вывести таблицу с транзакциями (ID, Тип, Сумма, Дата)
Структура БД
table users
id int autoincrement
login character varying(30)
email character varying(191)
password character varying(191)
created_at timestamp
table wallets
id int autoincrement
user_id id int
balance double precision [0]
created_at timestamp
referenses
user_id users(id)
table deposits
id int autoincrement
user_id int
wallet_id int
invested double precision [0]
percent double precision [0]
active smallint [0]
duration smallint [0]
accrue_times smallint [0]
created_at timestamp
referenses
user_id users(id)
wallet_id wallets(id)
table transactions
id int autoincrement
type varying(30)
user_id int
wallet_id int
deposit_id int [NULL]
amount double precision [0]
created_at timestamp
referenses
user_id users(id)
wallet_id wallets(id)
depoit_id deposits(id)
Задание №2:
Есть несколько моделей. User, Country, и Company.
Компания связана только с одной страной
Пользователь может быть связан с несколькими компаниями
Компания может быть связана с несколькими пользователями.
Пожалуйста, создайте отношения и запрос, который позволит нам получить всех пользователей, которые связаны с компаниями в данной стране. Нам также нужно будет отобразить все названия компаний, с которыми ассоциируются (в которых работали) пользователи, и даты, когда пользователь был связан с компанией.
Все, что у нас есть, это название страны:
$country = "Канада";
Нет необходимости создавать представления и другие избыточные файлы, маршруты и т.д. Пожалуйста, создайте метод контроллера и другие файлы для задачи.
Ожидается что это задание решается с помощью Laravel eloquent без raw запросов и только запросами в базу данных, без foreach
Оцениваться тестовое будет по следующим критериям:
правильность выполнение задания;
качество кода;
стиль кода;
Do'stlaringiz bilan baham: |