Предметная область: подсчет чеков
Суть проекта: подсчитать чеки и распределить товары в чеке по нескольким участникам.
- в основе MVC фреймворк Laravel
- MediaLibrary - для облегчения работы с загрузкой файлов
- SanCtum - для облегчения работы с авторизацией
php $positions = Position::where('cheque_id', $cheque->id)->get(); $transactions = []; foreach ($positions as $position) { $partitions = Partition::where('position_id', $position->id)->get(); foreach ($partitions as $partition) { $user = User::where('id', $partition->user_id)->first(); $amt = $position->sum / count($partitions); if (!array_key_exists($user->id, $transactions)) { $transactions[$user->id] = $amt; } else { $transactions[$user->id] += $amt; } } }
-
Функциональные требования
БД должна хранить:- список чеков
- список позиций
- список расчетов
- список транзакций
- список пользователей
Сервер должен:- давать возможность загружать в него таблицы с чеками
- выгружать подсчитанные доли
-
Нефункциональные требования
- взаимодействие с БД
- работа с csv-документами
- поддержка объемных csv-документов
- система авторизации
- доступ к просмотру всеми авторизованными пользователями