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
- O backend roda em produção no Railway, com PostgreSQL como base de dados principal.
- O frontend web também é publicado com deploy conectado ao GitHub.
- O app mobile é distribuído com Expo e EAS Build para geração do APK.
- Insomnia e Beekeeper Studio aparecem no README como ferramentas de apoio para testes e gerenciamento da API e do banco.
- 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.