Министерство образованиея и науки РФ Федерального государственного автономного образовательного учреждения высшего образования

"Национальный исследовательский технологический университет МИСиС"

Студент: Дырков А.В.

Руководитель: Пантелев С.В.

Курсовой проект

Разработка онлайн-кассы для мобильных устройств на базе Android

Цель курсового проекта  - разработать приложение онлайн-кассы

ФЗ-54

С 1 февраля 2017 года контрольно-кассовая техника должна отправлять электронные версии чеков оператору фискальных данных
 

ЭКЛЗ нужно заменить на фискальный накопитель, подключить кассу к интернету, заключить договор с оператором фискальных данных и отправлять чеки в электронном виде в ФНС через оператора фискальных данных.

Фискальный накопитель - шифровальное (криптографическое) средство защиты фискальных данных, является программно-аппаратным средством криптографической защиты фискальных данных (СКЗФД) и предназначен для обеспечения противодействия угрозам безопасности информации (фискальных данных) в составе контрольно-кассовой техники.

Линейка ФН

Алгоритм регистрации ККТ

Заключение договора с ЦТО;

Подготовка необходимых документов;

Подача документов в ИФНС;

Осмотр и фискализация кассы в ИФНС.;

Получение карточки регистрации ККМ.

Алгоритм регистрации сейчас

Подача заявления на регистрацию кассы в ИФНС через личный кабинет налогоплательщика онлайн на сайте nalog.ru. И сразу же -получение регистрационного номера ККТ.

Самостоятельная фискализация.

Получение карточки регистрации ККТ из ФНС.

Регистрация кассы в личном кабинете ОФД.

Требования к функциональности

  • касса должна поддерживать печать корпоративных и фискальных чеков по «ФЗ-52»;
  • касса должны поддерживать работу с системой лояльности;
  • касса должна поддерживать работу маркетинговых акций;
  • касса должна осуществлять работу в online и offline режиме;
  • касса должна поддерживать работу с различными меню;
  • касса должна передавать данные о совершенных заказах в систему Dooglys;
  • касса должна поддерживать открытие и закрытие рабочих смен;
  • касса должна поддерживать создание, редактирование и отмену заказов;
  • касса должна поддерживать формирование заказов на доставку, самовывоз;
  • касса должна поддерживать заказы на бронирование столиков;
  • касса должна поддерживать печать на различных устройствах;

Средства реализации

  • Язык программирования - JavaScript
  • Система управления состоянием - Redux
  • Отрисовка пользовательского интерфейса - ReactNative
  • Компонентная система - React
  • Система хранения данных - Google Firebase

Состояние приложения

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

Состояние приложения

const state = {
   applicationReducer: {
       name: 'CashBox',
       version: '1.0.0',
       ...
   }
   ...
}

Изменение состояния - Reducer


const ApplicationReducer = (state, action) => {

   switch (action.type) {
       case 'CHANGE_NAME': {
            return {
                 ...state,
                 name: action.payload
            }
       }
       default: {
           return state;
       }
   }

}

Изменение состояния - Action


const changeName = {
   type: 'CHANGE_NAME',
   payload: 'CashBox2'
}


store.dispatch(changeName);

Взаимодействие между слоями

Взаимодействие терминалов с сервером

КП

By AndreyDyrkov

КП

Курсовой проект

  • 125