Здравствуйте, поставлена задача, заключающаяся в том, что необходимо создать систему доски объявлений в формате JSON API.
Некоторые пункты для уточнения того, что эта API будет из себя представлять.
И еще небольшой момент: к этому проекту будет прилагаться фронтенд.
- Пользователь посещает главную страницу на которой его встречает информация о проекте и т.д. Помимо всего прочего там будет отображаться замечательная кнопочка getting started, при нажатии на которую его перебросит на страницу регистрации. Зарегистрировавшись он сможет войти и получить собственный ключ, благодаря которому можно будет осуществлять запросы к отдельным кускам API.
- На потолке страницы так же будут присутствовать элементы навигации типа: контакты, список апишек, etc. Посетив страницу апишек пользователь увидит замечательный сайдбар, в котором будут перечислены все предоставленные куски API. Выбрав то, что пользователю пожелается перед ним отобразится страница с поддерживаемым методом запроса, адресом и необходимыми значениями. Введя значения он, будучи авторизованным, сможет нажать на кнопочку execute и перед ним в нескольких блоках отобразятся результаты в виде хедеров и тела запроса.
В таких подробностях я описываю Вам все неспроста, нужно сориентироваться в выборе фрейма, исходя из возможностей и ограничений.
Если что, вот источник нашего вдохновения:
https://developer.riotgames.com/
Вот пункты, которые заставили меня обратиться за помощью сюда:
- DRF хороший фреймворк, предоставляющий много чего из коробки: авторизацию по токену, сессии, рейт лимитинг. Однако он сильно ограничивает функционал предоставленной абстракцией. Если начну писать по своему, а так определенно будет, вследствие того, что у страниц будет специфический вид и нужно будет подстроиться под него, то будет складываться впечатление, будто я велосипедист. Вдобавок к тому, придется лезть внутрь и менять шаблоны на свои, т.к дрф по умолчанию возвращают свои подготовленные шаблоны.
- Flask фреймворк, позволяющий писать по своему. В этом плане он намного удобнее, но опять таки придется наверстывать в проекте то, что в DRF уже есть либо подключать сторонние библиотеки.
Примечание: с выбранным фреймворком скорее всего будет сопрягаться React, который позволит при осуществлении запроса, не обновляя страницу, выводить в блоках хеадеры и тело(я надеюсь)