Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/bscheshirwork/petshelter

petshelter
https://github.com/bscheshirwork/petshelter

Last synced: about 15 hours ago
JSON representation

petshelter

Awesome Lists containing this project

README

        

# petshelter
Dockerized petshelter

Пример кода yii2, созданный в Docker-образоах окружения.
###[Текст задания](/docs/taskinfo.md)
Пример представляет собой проект на шаблоне basic фреймворка yii2. Изменения самого шаблона только в рамках задачи.

###[Запуск примера](/docs/install.md)

## Описание набора классов

###Приложение имеет 4 основных модели для работы с данными, указанными в задании.

1.Модель классов животных `Genus`. Определяет к какому классу принадлежит животное. Связана с классом питомцев.

2.Модель пользователей `Users`. Определяет человека, котоый готов забрать животное. Связана с классом семьи животного.

3.Модель питомцев `Pets`. Определяет питомца, который будет содержится в приюте и будет выдан человеку.

3.Модель семьи питомца `PetsFamilies`. Определяет в какой семье находится питомец.

###Приложение имеет 4 основных пути для работы с его функционалом

Доступ к страницам реализующим эти пути осуществляется с помощью верхнего меню.

1.Пункт `list` позволяет просмотреть животных, отсортированных по кличке. Также доступна фильтрация по параметрами животного.
В таблице также отображается текущая семья животного.

2.Пункт `adopt` позволяет выдать животного человеку. Для этого предоставлен список людей (с возможностью фильтрации и сортировки),
с дополнительным полем, содержащим форму для выдачи животного. Выбрав нужного человека, необходимо выбрать напротив него калас животного и
нажать соответствующую кнопку с мотивирующим смайликом. Если животные данного вида есть в приюте, то из них выбирается животное,
которое было помещено в приют раньше всех и выдаётся данному человеку. Семьёй животного становится этот человек.
Если выбрать пустой вариант "вида" то выборка будет происходить по всем животным в приюте, дальнейшие действия аналогичны.

3.Пункт `pets` позволяет осуществлять crud операции (срздание, просмотр, редактирование, удаление) с моделью животного.
При добавлении нового животного определяется его вид, возраст и назначается кличка. Семьёй животного становится приют.

4.Пункт `users` позволяет осуществлять crud операции с моделью людей, готовых принять животное.

###Ограничения реализации.

В примере используюетсяя только необходимый минимум классов, авторизация и разграничение прав в них не входит.
В реальном приложении для приюта необходимо разграничить права доступа к страницам, добавить аутентификацию,
дополнительные виды для отображения миграции питомцев, прочее.

###Тестирование
Возможно, будут добавлены `codeception` [тесты](/docs/codeception.md).