Гибридные мобильные приложения. Часть 3: работа с данными в Parse

Дата публикации:

Не будем останавливаться на достигнутом и продолжим рассказ о гибридных мобильных приложениях. В предыдущей статье мы реализовали авторизацию пользователей.  В этом тексте речь пойдет о новом блоке привычки и заметках к вредным привычкам.

Примеры исходного кода можно найти на GitHub:

https://github.com/c3gdlk/ionic_parse_todo

“Привычка – это либо лучшая из служанок, либо худшая из хозяек.” — Натаниэль Эммонс

Следуя логике цитаты, мы решили добавить функционал, который поможет избавиться от мелких неприятных привычек. Например, слов-паразитов или курения. Каждый раз, когда приходится ловить себя на действиях, от которых хочется немедленно отказаться, мы вносим краткую заметку в приложение. И описываем, почему это все же произошло.

Наше приложение будет содержать страницу с двумя закладками:

  1. Список всех вредных привычек. При нажатии на выбранную позицию перед нами откроется ее журнал.
  2. Список всех фейлов с отображением текста заметки, даты и привязкой к одной из вредных привычек.

Начнем с изменений на стороне сервера — создаем новые таблицы в Parse.

Нам требуется список вредных привычек (в качестве главной страницы) и таблица фейлов (как дочерняя страница).

Добавляем класс Habit с полями:

  • Title — название привычки.
  • User — идентификатор пользователя, ссылка на запись в таблице User. Для того чтобы создать ссылку на объект, нам нужно выбрать тип нового поля “Pointer” и в появившемся выпадающем списке — класс _User. Нижнее подчеркивание обозначает, что это один из предопределенных классов.

Добавляем класс HabitFailure

  • body — текст заметки о фейле;
  • user — идентификатор пользователя, ссылка на таблицу User;
  • habit — идентификатор привычки, ссылка на таблицу Habit.

Следующий шаг изменения в самом приложении. Добавляем новые маршруты в js/router.js

В навигационном меню перенаправляем ссылку на новое событие, которое будет закрывать боковую панель.

templates/views.html

js/controllers.js

Добавляем контроллер, который будет отображать все фейлы и вредные привычки.

js/habits/habits_controller.js

Пояснения к коду контроллера

Мы выбираем все вредные привычки, привязанные к текущему пользователю и имеющие открытый статус, предполагая что их общее количество не превышает 500. Таким образом, устанавливается лимит выборки.

Для получения и изменения свойств любой записи мы используем геттеры и сеттеры.  Выбранный способ реализации не предоставляет нам возможность привязать атрибуты к ng-model.

Для устранения этой проблемы добавляем в объект два новых поля:

  • bad — флаг вредной привычки (к отмеченным таким образом привычкам мы сможем добавлять заметки о фейлах);
  • reason — заметка о фейле.

Завершив загрузку вредных привычек, мы приступаем к загрузке фейлов.

Если нам потребуется отобразить текст о привычке при отображении фейла, мы делаем query.include(«habit»)

Когда все данные получены — обновляем интерфейс

Не забываем, что код всего лишь учебный. В новых статьях мы планируем подробно описать рефакторинг кода и правильные подходы к его написанию.

Создаем шаблон для новой страницы/экрана templates/habits.html

В целом, шаблон довольно прост. Его единственной отличительной особенностью можно назвать добавление двух закладок в верхнюю панель приложения.

Подводим итоги. Мы объявили еще одну верхнюю панель с классом bar-subheder. Для главного контейнера также определен класс bar-subheader. Фильтр formattedDate используется для того чтобы отобразить дату в удобочитаемом формате. С его кодом вы можете ознакомиться в репозитории нашего учебного проекта. Там же располагается код контроллеров создания новой привычки и отображения выбранной привычки. Он достаточно тривиален. Поэтому мы не станем тратить ваше время на описание его особенностей. Продолжение следует.

Мы Крым Диджитал

С 2015 года мы предоставляем полный цикл услуг мобильной и веб-разработки клиентам из различных отраслей и разных стран.

Подпишись
на наши новости

Контакты пресс-службы

+ 7 (926) 118-80-32

WhatsApp, Viber, Telegram

Давайте обсудим Ваш проект

или свяжитесь с нами по почте projects@crimeadigital.ru

Нажимая кнопку «Отправить», вы даете согласие на обработку персональных данных

Прошел день карьеры в СевГУ

Резидент технопарка, компания Крым Диджитал, приняла участие в Дне Карьеры в СевГУ, который прошел 17 мая. Мероприятие длилось 3 часа. Компанией заинтересовались  более 35 студентов, которым была важна информация о прохождении практики, бесплатные курсы Академии и вакансии, не требующие опыта работы. Руководитель разработки компании выступил с презентацией и ответил на все вопросы, которые так волнуют студентов — как начать свою карьеру в ИТ? Есть ли возможность совмещать учебу с работой? Кем я смогу стать? Как понять, кем я хочу работать? И многие другие.

Резидент технопарка, компания Крым Диджитал, приняла участие в Дне Карьеры в СевГУ, который прошел 17 мая.

Мероприятие длилось 3 часа. Компанией заинтересовались  более 35 студентов, которым была важна информация о прохождении практики, бесплатные курсы Академии и вакансии, не требующие опыта работы.

Руководитель разработки компании выступил с презентацией и ответил на все вопросы, которые так волнуют студентов - как начать свою карьеру в ИТ?

Есть ли возможность совмещать учебу с работой?

Кем я смогу стать?

Как понять, кем я хочу работать?

И многие другие.

Завершен набор студентов на летнюю практику

Крым Диджитал завершила набор студентов на летнюю практику. В июле придут 14 человек. Это студенты второго и третьего курсов кафедр Программная инженерия, Информатика и вычислительная техника, Информационные системы и технологии и Управление в технических системах. Все ребята будут ходить в офис и будут заняты реальным проектом, который они должны реализовать до конца практики. Каждый выбрал для себя то направление, в котором хотел бы развиваться — front-end и back-end-разработка, дизайн. Руководить практикой будет Head of Engineering.
Крым Диджитал завершила набор студентов на летнюю практику. В июле придут 14 человек. Это студенты второго и третьего курсов кафедр Программная инженерия, Информатика и вычислительная техника, Информационные системы и технологии и Управление в технических системах. Все ребята будут ходить в офис и будут заняты реальным проектом, который они должны реализовать до конца практики. Каждый выбрал для себя то направление, в котором хотел бы развиваться - front-end и back-end-разработка, дизайн. Руководить практикой будет Head of Engineering.

Крым Диджитал приняла участие в стратегической сессии

Руководители Крым Диджитал приняли участие в стратегической сессии, которая прошла на базе СевГУ 10 июня. Вместе с Правительством Севастополя, Институтом информационных технологий и управления в технических системах СевГУ и приглашенными ИТ-компаниями города обсудили перспективу развития системы высшего образования в Севастополе.Представители бизнеса, власти и образовательной системы выступали со своим видением будущих потребностей региона в кадрах, поднимали насущные вопросы обучения студентов, прохождения практики и дальнейшего трудоустройства. Крым Диджитал является амбассадором идеи образования и взращивания молодых кадров, развивает образовательные проекты и на протяжении 5 последних лет ведет активную работу в направлении поддержки и развития молодых специалистов ИТ-отрасли Крыма.

Руководители Крым Диджитал приняли участие в стратегической сессии, которая прошла на базе СевГУ 10 июня.

Вместе с Правительством Севастополя, Институтом информационных технологий и управления в технических системах СевГУ и приглашенными ИТ-компаниями города обсудили перспективу развития системы высшего образования в Севастополе.
Представители бизнеса, власти и образовательной системы выступали со своим видением будущих потребностей региона в кадрах, поднимали насущные вопросы обучения студентов, прохождения практики и дальнейшего трудоустройства.

Крым Диджитал является амбассадором идеи образования и взращивания молодых кадров, развивает образовательные проекты и на протяжении 5 последних лет ведет активную работу в направлении поддержки и развития молодых специалистов ИТ-отрасли Крыма.

Выпуск курса Software Testing

Мы поздравляем выпускников нашего первого в этом году курса Крым Диджитал Академии по Software Testing! Всего курс успешно завершили 13 человек. В течение 2 месяцев несмотря на теплую погоду и манящее море ребята ответственно посещали занятия 2 раза в неделю, делали домашние задания и проверочные работы. Трое начинающих специалистов теперь стажеры нашей компании. Следующий курс намечен на август. Не пропусти анонс записи!

Мы поздравляем выпускников нашего первого в этом году курса Крым Диджитал Академии по Software Testing!

Всего курс успешно завершили 13 человек. В течение 2 месяцев несмотря на теплую погоду и манящее море ребята ответственно посещали занятия 2 раза в неделю, делали домашние задания и проверочные работы. Трое начинающих специалистов теперь стажеры нашей компании.

Следующий курс намечен на август. Не пропусти анонс записи!