🍔 McProcessim - Autoatendimento Digital
Autoatendimento Digital: Uma réplica funcional de um totem de autoatendimento, focada em UX fluida e processos de pagamento seguros.
💻 Sobre o Projeto
O McProcessim é uma aplicação Full-stack que simula a experiência completa de um terminal de autoatendimento. Desde a escolha do tipo de consumo (local ou viagem) até a personalização detalhada do pedido e checkout final.
O foco principal deste projeto foi a integridade dos dados e a experiência do usuário, garantindo que informações sensíveis como CPF sejam validadas corretamente antes de qualquer transação financeira.
🛡️ Destaques Técnicos
-
Validação de Dados com Zod Implementei uma camada de segurança no checkout que valida o CPF e o nome do cliente. Isso evita que requisições malformadas cheguem à API de pagamentos, melhorando a confiabilidade do sistema.
-
Server-Side Logic Utilizei Server Actions do Next.js para lidar com a criação das sessões de checkout do Stripe, mantendo as chaves secretas protegidas no servidor e garantindo uma comunicação segura entre o backend e o gateway.
🛡️ Segurança e Integridade de Dados
- Checkout com Validação: Coleta de nome e CPF do usuário validada via Zod para garantir dados consistentes antes do redirecionamento ao Stripe.
📊 Arquitetura e Estado Global
- Context API: Centralização da lógica de autenticação e dados de anúncios, evitando o prop drilling e melhorando a manutenção do código.
- Custom Hooks: Abstração de lógicas complexas para componentes reutilizáveis e código mais limpo.
🎨 UI/UX Responsiva (Mobile-First)
- Interface construída com Tailwind CSS, garantindo que a experiência de compra seja idêntica e fluida tanto em dispositivos móveis quanto em desktops.
🛠 Tecnologias Utilizadas
- NextJs
- TypeScript - Tipagem estática.
- Postgresql - Database.
- Stripe - Gateway de pagamento.
- Tailwind - Estilização.
- Zod - Validação de Schemas.
🚀 Como Executar
Pré-requisitos
- Node.js instalado (v18 ou superior).
Passo a passo
- Clone o repositório:
git clone https://github.com/JudsonCiribelli/mcprocessim.git - Instale as dependências:
npm install - Configure as variáveis de ambiente:
Crie um arquivo .env.local na raiz e adicione suas credenciais do Stripe
NEXT_PUBLIC_STRIPE_PUBLIC_KEY=... STRIPE_SECRET_KEY=... NEXT_PUBLIC_APP_URL=http://localhost:3000 - Rode o projeto em modo de desenvolvimento
npm run dev
- Desenvolvido por Judson Rodrigues Ciribelli Filho 🚀