Felipe Angelini

Cardápio digital para mesa e balcão

Tela inicial
Tela inicial — imagem 1 de 4
Selecionando itens
Selecionando itens — imagem 2 de 4
Enviando pedido
Enviando pedido — imagem 3 de 4
Minha conta
Minha conta — imagem 4 de 4

Cardápio digital para tablets fixos em mesas e balcão de restaurantes, bares e cafés. O dispositivo roda em modo kiosk — travado via Device Owner do Android, sem acesso ao sistema — então o cliente só enxerga o cardápio, do início ao pedido.

Decisões técnicas

  • Offline-first com SQLite

    Todo o catálogo e os pedidos em andamento ficam num banco SQLite local (expo-sqlite), com migrações versionadas rodando no boot. A sincronização usa um cursor incremental — o app só busca os produtos alterados desde a última atualização, em vez de baixar o catálogo inteiro a cada sync.

  • Modo kiosk real

    O tablet é registrado como Device Owner (via ADB) e travado só no app, usando react-native-lock-task — o usuário não consegue sair do cardápio nem acessar o Android por trás. O bloqueio só entra em build de produção, pra não travar o próprio ambiente de desenvolvimento.

  • Imagens fora do banco

    Fotos de produtos ficam salvas no filesystem do dispositivo, não como blob no SQLite — evita inchar o banco e deixa a leitura de imagem mais rápida.

  • Reset por inatividade

    Depois de um tempo sem uso, o app volta sozinho pra tela inicial — preparado pro próximo cliente sem precisar de intervenção da equipe.

O que o cliente faz

  • Navega por grupos e produtos

    Categorias organizadas, com busca e visualização detalhada de cada item.

  • Personaliza o pedido

    Adiciona complementos e observações antes de confirmar.

  • Envia direto pra produção

    O pedido sai do tablet e cai na fila de preparo, sem passar por um atendente pra digitar de novo.

O desafio central aqui não é a interface — é fazer um dispositivo que ninguém vai supervisionar de perto se comportar de forma previsível o dia inteiro, pedido após pedido.