Malyugin Platon edited this page Aug 29, 2017 · 14 revisions

ТЗ

Написать приложение, которое позволяет создавать и делиться свой визиткой с другими пользователями.

Основной функционал:

  • Регистрация/Аутентификация (с сохранением полученного токена, для повторного входа без ввода пароля)
  • Редактирование своего профиля
  • Список добавление профилей
  • Добавление/Просмотр профилей других пользователей
  • Отобразить QR-код по которому можно поделиться своей визиткой
  • Считать QR-код для добавления нового пользователя

Дополнительно:

  • Расшарить в социальные сети публичную визитку с другими пользователями

Обсуждение

Все вопросы и замечания создавайте новые топики в Issues

P.S. API бэкенд был написан за короткий срок, поэтому могут быть и будут баги. Пардоньте.

Комментарии

Предлагаемые фреймворки

Опционально можно использовать:

Полезные ссылки

API

Endpoint

https://itweekandroiddemo.herokuapp.com/

Обязательно в Header должно быть следующее поле: Content-Type: application/json

Аутентифкация

Токен подставляется в Header, Authorization:{token}. Токен получите при регистрации пользователя или аутентификации пользователя

Ошибки

{
  "error" : "message"
}

Регистрация пользователя

POST /signup

Запрос

{
  "username" : "string",
  "password" : "string"
}

Ответ

{
  "token" : "string"
}

Аутентификация пользователя

POST /signin

Запрос

{
  "username" : "string",
  "password" : "string"
}

Ответ

{
  "token" : "string"
}

Получить свой профиль

GET /profile

Запрос

Ответ

{
    "user_id" : "string",
    "firstName" : "string",
    "lastName" : "string",
    "middleName" : "string",
    "contacts" : [ 
        {
            "type" : "string, enum(vk,fb,twitter,skype,github,instagram,linkedin,email)",
            "url" : "string" 
        } 
    ],
    "page_id" : "string",
    "page_url" : "string"
}

Получить профиль пользователя

GET /profile/{page_id}

Запрос

page_id - идентификатор страницы

Ответ

{
    "user_id" : "string",
    "firstName" : "string",
    "lastName" : "string",
    "middleName" : "string",
    "contacts" : [ 
        {
            "type" : "string, enum(vk,fb,twitter,skype,github,instagram,linkedin,email)",
            "url" : "string" 
        } 
    ],
    "page_id" : "string",
    "page_url" : "string"
}

Обновить профиль

POST /profile

Запрос

{
    "user_id" : "string",
    "firstName" : "string",
    "lastName" : "string",
    "middleName" : "string",
    "contacts" : [ 
        {
            "type" : "string, enum(vk,fb,twitter,skype,github,instagram,linkedin,email)",
            "url" : "string" 
        } 
    ],
    "page_id" : "string",
    "page_url" : "string"
}

Ответ

{
    "user_id" : "string",
    "firstName" : "string",
    "lastName" : "string",
    "middleName" : "string",
    "contacts" : [ 
        {
            "type" : "string, enum(vk,fb,twitter,skype,github,instagram,linkedin,email)",
            "url" : "string" 
        } 
    ]
}

Адрес профиля

https://itweekandroiddemo.herokuapp.com/public/{page_id}

Например: https://itweekandroiddemo.herokuapp.com/public/ktw34bwvc0xk

Clone this wiki locally
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.