Este é um projeto de um sistema de pedidos para um restaurante fictício chamado FSW Donalds. O sistema permite que os clientes façam pedidos online, selecionem produtos do menu e finalizem seus pedidos.
- Next.js: Framework React para desenvolvimento de aplicações web.
- Prisma: ORM para interagir com o banco de dados PostgreSQL.
- React Hook Form: Biblioteca para gerenciamento de formulários em React.
- Zod: Biblioteca para validação de esquemas de dados.
- TypeScript: Superset do JavaScript que adiciona tipagem estática ao código.
- Tailwind CSS: Framework CSS para estilização.
- Listagem de Produtos: Exibe uma lista de produtos disponíveis no menu do restaurante.
- Finalização de Pedido: Permite que o cliente insira suas informações e finalize o pedido.
- Validação de Email: Utiliza email do usuário para validar os pedidos.
São funcionalidades implementadas de maneira independente após o evento FSW.
- Desktop: Adicionar layout para desktop:
- home (layout e page)
- slug
- product
- orders
- Área Restaurante: Criar área que o restaurante consegue visualizar, alterar, atualizar, cancelar, excluir pedidos.
- Tabela dos pedidos:
- lista todos os pedidos
- caixa de seleção: atualizar status
- botão cancelar pedido
- botão finalizar pedido
- Tabela dos pedidos:
- Session Storage: Mudar a forma de envio de alguns dados, em vez de ser via url, ser por Session Storage.
-
Clone o repositório:
git clone https://github.com/seu-usuario/fsw-donalds.git cd fsw-donalds -
Instale as dependências:
npm install
-
Configure as variáveis de ambiente: Crie um arquivo
.envna raiz do projeto e adicione as seguintes variáveis:DATABASE_URL=postgresql://user:password@localhost:5432/fsw-donalds -
Popule os dados do restaurante:
npx prisma db seed
-
Gere o Cliente Prisma para acessar o banco de dados:
npx prisma generate
-
Execute as migrações do banco de dados:
npx prisma migrate dev
-
Inicie o servidor de desenvolvimento:
npm run dev
Se você deseja contribuir com este projeto, siga os passos abaixo:
- Faça um fork do repositório.
- Crie uma branch para sua feature (
git checkout -b minha-feature). - Commit suas mudanças (
git commit -am 'Adiciona minha feature'). - Faça um push para a branch (
git push origin minha-feature). - Abra um Pull Request.
Este projeto está licenciado sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.