CineStream é uma aplicação web destinada a gerenciar filmes de uma locadora.
- Vue 3: Framework JavaScript
- Vue Router: Gerenciamento de rotas
- Pinia: Gerenciamento de estado
- Pinia Persisted State Plugin: Plugin para persistência do estado do Pinia
- Tailwind CSS: Framework CSS
- Vee Validate: Biblioteca para validação de formulários
- Yup: Esquemas para validação de objetos, usado junto com Vee Validate
- Vue The Mask: Máscaras para campos de formulário
- UUID: Geração de identificadores únicos universais
- Vite: Build tool
- TypeScript: Superset do JavaScript com tipagem estática
Para rodar o projeto localmente, siga os passos abaixo:
-
Clone o repositório:
git clone https://github.com/GabrielMA0/CineStream.git cd CineStream -
Instale as dependências:
npm install
-
Inicie o servidor de desenvolvimento:
npm run dev
Para acessar o sistema pela primeira vez, utilize a conta administrativa padrão com as seguintes credenciais:
- Documento (CPF): 457.219.030-58
- Senha: admin
- Cadastro, edição, listagem e desativação (soft delete)
- Login e logout
- Usuários com status inativo não podem logar
- Usuários logados permanecem logados ao revisitar a aplicação
- Cadastro, edição, listagem e desativação (soft delete)
- Busca por nome e documento
- Filtro por status ativo/inativo
- Busca automática dos dados de endereço pelo CEP via API ViaCEP, permitindo edição caso não encontre o CEP
- Consumo da API da OMDb para listagem de filmes
- Busca por nome (OBS: Pesquisar em inglês)
- Filtros por ano
- Lista apenas filmes
- Nova locação e listagem de locações
- Busca por cliente
- Filtros por data de locação e data de entrega
- Clientes com locação em status "alugado" não podem realizar nova locação
- Feedback visual (alert toggle) para sucesso ou falha em todas as alterações
- Dados de usuários, clientes e locações armazenados no localStorage do navegador
Vercel:
O design do CineStream foi elaborado no Figma para garantir uma interface moderna e responsiva.