Skip to content

Herick2D/pronto-reserva-frontend

Repository files navigation

Pronta-Reserva Frontend

Este é o frontend da aplicação Pronta-Reserva, desenvolvido para gerenciar e agendar reservas de forma eficiente. A aplicação foi construída com Next.js e o App Router.

Funcionalidades

  • Autenticação de Usuários: Sistema completo de Login e Registro.
  • Gerenciamento de Sessão: Uso de JWT em Cookies para manter o usuário logado.
  • Proteção de Rotas: Middleware para proteger rotas privadas, garantindo que apenas usuários autenticados possam acessá-las.
  • Listagem de Reservas: Visualização de todas as reservas do usuário em formato de cards.
  • Criação e Edição de Reservas: Modais para criar novas reservas e editar as existentes.
  • Ações de Status: Funcionalidades para confirmar ou cancelar uma reserva.
  • Tratamento de Erros: Sistema centralizado para fornecer feedback claro e amigável ao usuário.

Tecnologias Utilizadas

  • Next.js (App Router) - Framework React para produção.
  • React - Biblioteca para construção de interfaces.
  • TypeScript - Superset do JavaScript com tipagem estática.
  • Tailwind CSS - Framework de estilização utility-first.
  • shadcn/ui - Coleção de componentes de UI reutilizáveis.
  • Axios - Cliente HTTP para fazer requisições à API.
  • Zod - Biblioteca para validação de schemas.
  • React Hook Form - Gerenciamento de formulários.
  • date-fns - Biblioteca para manipulação de datas.
  • Lucide React - Biblioteca de ícones.
  • Cypress - Ferramenta para testes End-to-End (E2E).

Como Executar o Projeto

Siga os passos abaixo para rodar a aplicação em seu ambiente local.

Pré-requisitos

Instalação

  1. Clone o repositório;

        git clone https://github.com/Herick2D/pronto-reserva-frontend.git
    
  2. Instale as dependências;

        npm install
    
  3. Configure as variáveis de ambiente;

        NEXT_PUBLIC_API_BASE_URL=http://localhost:5129
    
        NEXT_PUBLIC_API_LOGIN_URL=http://localhost:5129/api/auth/login
        NEXT_PUBLIC_API_REGISTER_URL=http://localhost:5129/api/auth/register
        NEXT_PUBLIC_API_RESERVAS_URL=http://localhost:5129/api/reservas
    
  4. Rodar o servidor de desenvolvimento;

        npm run dev
    

Rodando os Testes

Este projeto utiliza Cypress para testes End-to-End (E2E), que simulam o fluxo completo do usuário.

Rodar testes em modo interativo (para desenvolver)

Este comando abre a interface gráfica do Cypress, onde você pode ver os testes rodando em tempo real.

npm run test:e2e:open

Rodar testes em modo headless (para verificação)

Este comando executa todos os testes no terminal, sem abrir um navegador. É ideal para automação e para uma verificação rápida de que tudo está funcionando.

npm run test:e2e:run

Observações:

Este projeto foi desenvolvido dentro de prazos de entrega pré-estabelecidos e com objetivos avaliativos definidos. As escolhas de tecnologias e as metodologias de trabalho seguiram tanto as diretrizes do enunciado quanto critérios pessoais de eficiência e familiaridade. Devido ao tempo limitado, algumas funcionalidades podem apresentar bugs ou comportamentos inesperados. Relatórios de issues, sugestões de melhorias e contribuições são muito bem-vindos!

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors