Создание системы донатов для приложения iOS (дизайн есть)

Заявок3
Средняя стоимость работы$2
Бюджет По договоренности safe
Создан: 2 года назад
Открыт
Описание
Описание

Необходимо создать систему донатов (поощрение) для мобильного приложения в существующем дизайне и возможностью дальнейшей интеграции в само приложение. Система должна соответствовать архитектуре MVC и иметь возможность работать обособленно от самого приложения. Система предполагает добровольного доната из перечисленных возможных вариантов, после покупки пользователь получает возможность оставить послание другим пользователем приложения на “доске почета”. Цены должны загружаться из магазина app store. Для загрузки данных доски почета и сохранения в нее новых записей используется собственное rest api (его разрабатывать не надо).


 


Структура

На рисунке 1 показано схематично взаимодействие всех экранов системы. 


 



(Рис. 1)


 


Точкой входа является простой экран (Main) с одной кнопкой, это необходимо для дальнейшей интеграции системы в приложение. На основном экране (Donate) расположены два блока: блок с донатами, блок с 6 последними донатами. Окно донат 1 появляется с переходом present modally. На карточке доната отображается фотография пользователя, имя, фамилия и текст. При нажатие на карточку доната открывается окно записи (Donate One Post) в котором можно перейти по ссылке оставленной пользователем. Когда в карточке доната текст превышает длину двух строчек должна появляться кнопка еще. Окно один донат появляется при помощи анимации show, здесь должна быть реализация navigation controller.


В группе с донатами отображаются три варианта, цена загружается из app store, после нажатия появляется системное окно покупки. После покупки при помощи present modally идет переход на окно Donate Form.


Есть возможность не заполнять анкету сразу и тогда появляется кнопка добавить как показано на экране Donate 2, она возвращает на окно Dinate Form. Если запись была добавлена то отображается кнопка удалить как показано на экране Donate 3, она позволяет убрать запись с доски почета. 


Если при покупки или добавлении записи возникает ошибка должно появляться сообщение с использованием SPAlert


Изображение: .error


Заголовок: “Ошибка”


Текст: загружается с сервера, см. api


При успешной покупке и загрузки записи также показать данное окно.


Изображение: .done


Заголовок: для покупки “Отлично” для добавлении записи “Поздравляем”


Текст: для покупки “Покупка успешно произведена”, для добавлении записи “Вы попали на доску почета”


 


Экраны и layouts

На всех экранах элементы имеют отступы слева и справа с привязкой к safe area, в последнее версии она имеет размер 20px в предыдущих версиях 16px. Navigation Controller в данном приложении кастомный и имеет свои свойства и отступы. Пример использования смотреть в тестовом проекте. Все экраны должны быть адаптированы к разным разрешением и соблюдать правила safe area. Если контент на любом экране не умещается по высоте то должна быть возможность скролла и снизу должен быть отступ 20px до safe area. 


 


Donate

Реализация всех карточек должны быть при помощи отдельных view для дальнейшего использования. Допускается использование uitableview insert grouped или uiscrollview. Доска почета должна быть реализована при помощи uicollectionview. Ячейки доски почета схожи с ячейками из таблицы Donate All Post, по этому должна быть реализована одна view. Ячейки имеют фиксированных размер. На данном экране есть кнопка которая изначально скрыта, также она принимает разный стиль в зависимости от алгоритма. Данная кнопка имеет привязку сверху а не к низу.


 


Donate All Post

Ячейки имеют разную ширину в зависимости от разрешения экрана. Должна быть реализована загрузка данных при прокрутки ниже. Ячейки такие же как на экране donate.


 


Donate One Post

В зависимости от текста карточка должна менять свою высоту. Все элементы должны находиться внутри uiscrollview для непредвиденных разрешений.


 


Donate Form

Все поля имею плейсхолдеры которые исчезают при наборе текста, поле ссылкой должно проходить проверку, поле имя и фамилия допускают ввод только одного слова, поле текст имеет максимальную длину 550 символов. Поле текст изначально имеет высоту 5 строче но по мере текста увеличивает высоту. Кнопка сохранить имеет привязку сверху. Все элементы должны находиться внутри uiscrollview для непредвиденных разрешений.


Когда пользователь выбирает фотографию меняется надпись кнопки на изменить фото. При выборе фотографии должен быть выбор отображаемой области.


 


Edit Photo

Должна быть реализована возможность pinch to zoom без изменения поворота изображения. Допускается использование сторонних решений при обсуждении.


 


Rest API

Все запросы имеют одинаковый формат ответа JSON, в ответе всегда есть поле “Error” и “Data”. В зависимости от ошибки поле “Data” может быть пустым. 


Расшифровка всех ошибок:


01 - не все входные данные имеются


00 - ответ от бд получен но записей нету


10 - ответ от бд получен или все записи были внесены


20 - ошибки при записи


11 - недостаточно средств


12 - операция не возможно так как была проведена ранее


Параметры отмеченные * являются обязательными.


В некоторых запросах необходим параметр user_id, это уникальный номер каждого пользователя и он храниться в NSUserDefaults под ключом MatimatikProfileID. Для тестирования используйте: ТЕСТОВЫЙ ID ПОЛЬЗОВАТЕЛЯ.


 


Все записи

Позволяет просмотреть все записи на доске почета. 


Адрес: ССЫЛКА


Параметры:


offset - смещение, необходимое для выборки определенного подмножества записей. Положительное число. Изначально равно 0.


count - количество записей, которое необходимо получить. Максимальное значение: 100. Положительное число. Изначально равно 50.


 


Пример ответа:


ПРИМЕР


 


Загрузка фото

Позволяет загрузить фотографию на сервер. В ответ получите идентификатор картинки.


Адрес: ССЫЛКА


Параметры:


user_id* - см. описание выше.


photo_file* - файл с фото. Тип файл. ПАРАМЕТРЫ КАРТИНКИ


 


Добавить запись

Позволяет добавить новую запись на доску почета.


Адрес: ССЫЛКА


Параметры:


user_id* - см. описание выше.


name* - имя пользователя. Типа строка, максимальная длина 100.


surname* - фамилия пользователя. Типа строка, максимальная длина 100.


text - текст записи. Типа строка, максимальная длина 550.


url - ссылка пользователя. Типа строка, максимальная длина 500.


buy_package* - идентификатор из app store. Типа строка, максимальная длина 100.


photo_id - идентификатор файла фото. Тип строка, максимальная длина 100.


 


Пример ответа:


ПРИМЕР


 


Удалить запись

Позволяет убрать запись пользователя из списка доски почета.


Адрес: ССЫЛКА


Параметры:


user_id* - см. описание выше.


 


Пример ответа:


ПРИМЕР


 


То, что выше отмечено ЖИРНЫМ КАПСОМ означает, что это еще дозаполнится до конца следующей недели (но это мелочи)


 


Информация о сотрудничестве:
Только безопасная работа. Основная приемка возможна по видеосвязи (вы показываете свой экран и демонстрируете код и работоспособность).

Приложения
Безопасное сотрудничество
Работодатель готов использовать "Безопасную сделку".
Категория

Оставить заявку

дней

Заявки специалистов

Сортировка:
Веб-Программирование, Разработка мобильных приложений
Бюджет:
1$
Здравствуйте!
Заинтересовало ваше предложение.
Я представляю компанию ООО WebEx Technologies.
Мы работаем с 2007 года, специализируемся на создании сайтов, разработке мобильных приложений, разработке ПО, разработке Игр и 3D моделей. Так же проводим оптимизацию и доработку проектов.

Технологии которыми мы работаем :
HTML5, CSS3-Flex, Grid, Parallax, Sprites, PHP, JavaScript, ES9, jQuery, Bootstrap, Ajax, React JS, Laravel, OOP/MVS, MySQL и
Java, Android, Unite, React Native и др.
Мы выполняем для Вас успешное и эффективное создание сайтов, оптимизация и продвижение , реклама в интернете, поддержка и обслуживание.
Мы стараемся, чтобы каждая копейка, вложенная в сайт, его рекламу и обслуживание, была отработана на 100.
https://webex.site/
Telephone: 79584015407
Telegram: 79607707907
WhatsApp: 79607707907
1С-программирование, Базы данных, Веб-Программирование
все
1С-программирование, Базы данных, Веб-Программирование, Разработка мобильных приложений, Системное программирование
Бюджет:
5$
Доброго времени суток! Ознакомился с описанием проекта
есть свободное время готов обсудить. Всегда на связи
Возможна работа по договору.
Добавляйтесь обсудим детали.
Telegram: fldima
WhatsApp: 79652428831
Skype : live:.cid.9d12e48a85f5581c
E-mail : fl.dimalist.ru
Бюджет:
1$
Сроки: 1 день
Здравствуйте, хотел бы предложить вам перечень наших услуг.
Мы ищем:
созданиедоработка сложных сайтов
создание программ IOSandroid
верстка страниц
создание приложений.
Мы даём гарантию того, что работа будет выполнена качественно и быстро.
Я могу дать вам контакт нашего специалиста, с которым вы можете связаться и обговорить детали заказа, если я конечно вас заинтересовал.

Похожие проекты

safe$22
9 0
требуется готовую онлайн анкету на django по приему на работу перенести в whatsapp, telegram и viber. Нужно чтобы кандидат мог с удобством заполнять анкету с телефона, а все заполненные им данные по всем позициям автоматически загружались в нашу базу данных. В нашей базе будет создаваться резюме кандидата......
safe 
28 0
В наличии массив кадастровых номеров (КН), необходимо путем запроса на ПКК определить примерные географические координаты каждого объекта из массива КН (ОКС, ЗУ), вывести в результирующий файл эти ко-ты и ряд сопутствующих данных по этому КН....
1 год назад
safe 
44 1
Необходимо разработать бек и фронт мини-сервиса таким образом, чтоб его можно было развернуть внутри другого проекта....
safe$1111
23 0
Стоит на Бизнесе для своих нужд на простеньком базовом шаблоне, складываю туда контент потихоньку. Нужно начинать приводить в соответствие что бы публика сразу не убегала, а как то цеплялась, да и продвигать не торопясь. Шаблон где порвался от вставки баннеров подправить, для мобилок может сверстать.......
safe$22
55 0
Парсер для сайта stockx. com на питоне (selenium/pyppeteer). Необходим следующий функционал: 1. На главной странице с поиском по ключевым словам найти первый результат из поиска (ссылку на страницу товара) ....
1 год назад
safe$44
49 0
Трипланарная транспортная задача (отправители - транспорт - получатели) генерация исходных данных трехэтапное решение 1....
safe$1111
48 0
Требуется написать парсер маркетплейса, у которого есть только мобильное приложение (IOS, Android). Есть исходный код Android приложения (Java + Kotlin), реверснутый через JADX. Необходимо парсить данные о товарах, полученные по артикулу. За подробностями тг: @markermann)....
1 год назад
 
38 0
Требуется написать софт , который будет делать рассылку по личным сообщениям на площадке Ebay Kleinanzeigen по заранее спаршенным обьявлениям....
1 год назад
 
36 0
Требуется написать софт , который будет делать рассылку по личным сообщениям на площадке Ebay Kleinanzeigen по заранее спаршенным обьявлениям....
1 год назад
 
37 0
Требуется написать софт , который будет делать рассылку по личным сообщениям на площадке Ebay Kleinanzeigen по заранее спаршенным обьявлениям....
1 год назад
 
31 0
Требуется написать софт , который будет делать рассылку по личным сообщениям на площадке Ebay Kleinanzeigen по заранее спаршенным обьявлениям....
1 год назад
 
40 1
Требуется написать софт , который будет делать рассылку по личным сообщениям на площадке Ebay Kleinanzeigen по заранее спаршенным обьявлениям....
1 год назад
$22
59 1
В Геткурсе нужно сделать интеграцию со Сбербанком для оформления рассрочки/кредита. Основная задача – передача суммы и номера заказа при переходе для оформления рассрочки и возврат сведений при удачном оформлении. Эквайринг от Сбербанка к Геткурсу подключён, а готовой интеграции для рассрочки нет. Если......
1 год назад
 
96 0
Нужно сделать бот перехватчик заказов по фильтру такси Максим!...
1 год назад
$33
75 1
Как можно загрузить готовое фото из галереи, если приложение просит загрузить фото и при этом открывает камеру телефона? Нужно вместо использования реальной камеры смоделировать вход камеры и при этом загрузить фото из галереи....
1 год назад
 
117 3
Очень простой криптообменник в виде веб-сайта. Без смарт-контрактов и т. Все платежи вручную....
Смотреть все