EmployeeSearcher
Проект выполнялся в качестве тестового задания
Функционал: по адресу http://0.0.0.0:8000/api/search
находится простая веб-форма, позволяющая добавлять сотрудников в базу данных, изменять и удалять сотрудников в базе, просматривать существующих с использованием фильтров по должности и филиалу. Также есть функции выгрузки данных по сотрудникам либо в xlsx таблицу, либо в Google таблицу.
Таблица Employee имеет следущие поля: 'branch_office' (Филиал),'fio' (ФИО),'position' (Должность),'birthday' (Дата рождения),'hire_day' (Дата приема на работу)
Подготовка и запуск
Для запуска проекта необходимо, чтобы в системе был установлен Python версии не ниже python3.7 и Docker Compose. Для использования функционала выгрузки в Google-таблицу также необходимо создать сервисный аккаунт Google разработчика (см. https://developers.google.com/workspace/guides/create-credentials#service-account), создать для него ключ и поместить JSON файл с ключом в папку проекта, переименовав файл в credentials.json
.
Чтобы собрать проект, нужно выполнить команду docker-compose --build
. Будут созданы два docker контейнера, для MySQL базы данных и для сервиса на Django. Чтобы в базе данных была создана таблица Employee, необходимо выполнить команду docker exec -it employee_searcher_web_1 python manage.py migrate
. После этого можно начинать работу с сервисом.
Примечания
Целью данного проекта было создание простой веб-формы, поэтому в нём отсутствует аутентификация пользователей. При использовании на проекте, который работает с реальными данными, систему контроля доступа необходимо добавить. Также при продакш использовании необходимо пользователя и пароль от базы данных хранить в отдельном файле .env, а в БД и Django импортировать уже оттуда.