Projeto Pizzaria

Gestão de Produtos e Pedidos | Full Stack

Visão geral

Aplicação completa para atendimento de pizzaria, com backend estruturado, regras de negócio e API robusta para operação diária. O frontend foi construído com foco em usabilidade e produtividade, e o app mobile foi integrado à API para garantir uma experiência fluida e responsiva em dispositivos móveis.

O que o sistema entrega

  • Cadastro e gestão de categorias, produtos, usuários e pedidos.
  • Dashboard web para acompanhar pedidos antes da conclusão e entrega.
  • Fluxo mobile para abertura de mesa, criação de pedido, edição de itens e finalização.
  • Integração contínua entre interfaces web, mobile e API central.
  • Upload e entrega de imagens de produtos com apoio do Cloudinary.

Arquitetura do projeto

  • Backend em Node.js, Express e TypeScript com Prisma ORM.
  • Banco PostgreSQL como base relacional da operação.
  • Frontend web em Next.js 15 com React 19 e TypeScript.
  • Aplicativo mobile em React Native com Expo, Context API e AsyncStorage.
  • Deploy e hospedagem concentrados no Railway, com integração GitHub.

Camada backend

O README do backend descreve uma API REST desenhada para servir como base central da operação da pizzaria. Ela concentra regras de negócio, autenticação, gestão de produtos, categorias e pedidos, além de suportar as interfaces web e mobile com foco em segurança, desempenho e escalabilidade.

Core

Node.js, Express e TypeScript formam a base da API.

Banco de dados

PostgreSQL com Prisma ORM e driver `pg` para persistência relacional.

Segurança

JWT com `jsonwebtoken` e senhas protegidas com `bcryptjs`.

Upload de arquivos

Cloudinary e `express-fileupload` para mídia e imagens dos produtos.

Camada frontend web

No frontend, o projeto foi orientado para uma interface administrativa responsiva, moderna e prática. O README destaca login, cadastro de categorias e produtos, acompanhamento de pedidos no dashboard, visualização de detalhes e conclusão do fluxo até a entrega ao cliente.

  • Next.js 15 com App Router para estrutura da aplicação.
  • React 19, TypeScript e Sass para construção da interface.
  • Axios e cookies para comunicação com a API e manutenção da autenticação.
  • JWT em cookies HTTP-only e middleware protegendo rotas como `/dashboard`.
  • Lucide React e Sonner reforçando feedback visual e usabilidade.

Camada mobile

A versão mobile foi projetada para uso operacional por garçom ou atendente. O app cobre abertura de mesa, criação de pedidos, gerenciamento dos itens e encerramento do atendimento, mantendo comunicação direta com a API para refletir o estado real da operação.

  • React Native 0.81 com Expo 54 e TypeScript.
  • React Navigation para rotas entre telas.
  • Context API e AsyncStorage para estado global e persistência de autenticação.
  • Axios para requisições HTTP e interceptors para injeção automática de token.
  • StyleSheet nativo e tema customizado para consistência visual em smartphones.

Operação e infraestrutura

  1. O backend roda em produção no Railway, com PostgreSQL como base de dados principal.
  2. O frontend web também é publicado com deploy conectado ao GitHub.
  3. O app mobile é distribuído com Expo e EAS Build para geração do APK.
  4. Insomnia e Beekeeper Studio aparecem no README como ferramentas de apoio para testes e gerenciamento da API e do banco.
  5. O projeto foi pensado como um ecossistema integrado, com a API servindo simultaneamente a experiência web e a experiência mobile.

Resumo técnico

A Pizzaria é um projeto full stack orientado a operação real, composto por API REST em Node.js + Express + TypeScript + Prisma + PostgreSQL, interface web em Next.js + React + TypeScript e aplicativo mobile em React Native + Expo. O conjunto prioriza produtividade de atendimento, integração entre plataformas e uma base sólida para evolução futura.