Министерство образованиея и науки РФ Федерального государственного автономного образовательного учреждения высшего образования
"Национальный исследовательский технологический университет МИСиС"
Студент: Дырков А.В.
Руководитель: Пантелев С.В.
Курсовой проект
Разработка онлайн-кассы для мобильных устройств на базе 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