Требуется разработать Backend сайта для выставления счетов
Требования:
* Опыт работы от 1 года
* Умение работать с GIT
* Умение писать сопровождаемый и расширяемый код
В ответе пожалуйста напишите:
1. Кратко какой у вас опыт
2. Стоимость вашего часа
3. На каком фреймворке предлагаете реализовать и в двух словах почему
4. Оценить в часах каждый из этапов работ
Этапы работы:
- Разработать базовую архитектуру сервиса на каком-либо легком, но масштабируемом php-фреймворке
- Создать метод импорта прайс-листа:
- По запросу POST /api/price-list/import/ на сервер приходит excel-файл с прайс-листом. Пример прайс-листа в приложении
- Нужно написать метод, который вернет прайс-лист - массив с полями article, name, price
4. Добавить GET /price-list, возвращающий данные из БД
5. Создать БД users с полями id, username, password, token. Добавить тестового пользователя
6. Добавить запрос POST /login {username: ‘admin’, password: ‘Зашифрованный пароль’}. Запрос проверяет логин и пароль, генерирует уникальный token, сохраняет его в БД и возвращает на клиент {status: ‘success’, data:{token: ‘someToken’}}. В случае ошибки возвращает {status: ‘error’, error: {code: ‘accessDenied’}}
7. Добавить запрос POST /logout, при запросе которого удаляется token из БД
8. При каждом из запросов, кроме /login и /logout проверяется заголовок x-token. Если токен найден в БД, в ответе добавляется заголовок x-username, иначе возвращается ошибка {status: ‘error’, error: {code: ‘accessDenied’}}
9. Развернуть проект на хостинге