Giter Club home page Giter Club logo

employees-api's Introduction

employees-api

Static Badge Static Badge Static Badge Static Badge

Тестовое задание в компанию Plarin.


Stack:

  • FastAPI
  • MongoDB
  • Beanie

Начало работы


Запуск проекта

make runserver

Остановка проекта

make downserver

Подключение к контейнеру FastAPI приложения:

make connect-app

Для работы с API нужно перейти по адресу

http://127.0.0.1:8000/api/docs

API для выбора сотрудников по критериям:

GET /api/v1/employees/

Для выборки сотрудников из общего списка доступны фильтры по следующим полям:

  • Имя сотрудника - фильтрация будет вестись по всем именам начинающимся на указанную строку
  • email сотрудника - фильтрация по всем адресам электронной почты сотрудников
  • Название компании - фильтрация по всем названиям компаний, которые начинаются на указанную строку
  • Название должности - фильтрация по должности
  • Пол - принимает 3 значения male, female и other, вернёт всех сотрудников с заданным полом
  • Возраст - фильтр по всем сотрудникам, возраст которых равен указанному или ниже
  • Уровень оплаты - целое число / десятичное число(максимум 2 знака после запятой 100.25). Фильтра вернёт всех сотрудников уровень оплаты которых ниже указанного
  • Параметры limit и skip определяют сколько всего записей будет выбрано и с какой записи пойдёт выборка. По умолчанию имеют значения 10 и 0 соответственно
  • Порядок(order) - поле может принимать 6 различных значений для сортировки конечного набора отфильтрованных сотрудников. Возможные вариации порядка: -name name age -age salary -salary. По умолчанию будет использоваться поле name.

Пример запроса на выборку всех сотрудников компании Plarin мужского пола, от 40 лет и младше с выводом результата в порядке убывания возраста:

curl -X 'GET' \
  'http://127.0.0.1:8000/api/v1/employees?company=Plarin&gender=male&age=40&limit=10&skip=0&order=-age' \
  -H 'accept: application/json'

Загрузка данных из json

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

  1. Разместите json-файл в корне проекта
  2. Войдите в терминал контейнера, в котором находится mongodb
    make connect-mongo
    
  3. Введите следующую команды, где вместо fileName.json укажите имя вашего json-файла
    mongoimport --db employees_database --collection employees --file home/{fileName.json} --jsonArray
    
    Вы также можете указать нужные вам имя базы данных и коллекции.

employees-api's People

Contributors

vrnxx avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.