# OLHE-AI Bem-vindo ao **OLHE A.I**, um sistema completo desenvolvido com Vue 3, Vuetify 3 e uma API mockada para gerenciamento de usuΓ‘rios, relatΓ³rios e modelos de cΓ’mera. --- ## πŸ“‹ Funcionalidades - **Dashboard**: VisualizaΓ§Γ£o dos modelos de cΓ’mera treinados. - **RelatΓ³rios**: Filtros e exibiΓ§Γ£o de relatΓ³rios de usuΓ‘rios com detalhes sobre horΓ‘rios de entrada e saΓ­da. - **Treinamento de Modelos**: Interface para gerenciar o treinamento de modelos de cΓ’mera. - **UsuΓ‘rios**: CriaΓ§Γ£o, ediΓ§Γ£o e listagem de usuΓ‘rios no sistema. - **Teste de APIs**: Interface para testar APIs mockadas usando `json-server`. ---- ## Como Executar PrΓ©-requisitos **Node.js (v16 ou superior)** **Gerenciador de pacotes: npm ou yarn** **JSON Server para a API mockada.** ## Clone o repositΓ³rio: - git clone https://github.com/seu-usuario/TARS-LAB.git - cd olhe-ai ## Instale as dependΓͺncias: Certifique-se de ter o **Node.js** e o **npm** instalados. Em seguida, instale as dependΓͺncias do projeto. - npm install ## Inicie o servidor de desenvolvimento: - npm run dev ## Inicie o servidor de produΓ§Γ£o: - npx run mock ## Acesse a aplicaΓ§Γ£o no navegador: http://localhost:5173/ ---- ## Testes Testes UnitΓ‘rios Os testes unitΓ‘rios estΓ£o localizados na pasta tests/unit. Execute-os com: - npm run test:unit ## Testes de IntegraΓ§Γ£o Os testes de integraΓ§Γ£o estΓ£o localizados na pasta tests/integration. Execute-os com: - npm run test:integration ---- ## Estrutura β”œβ”€β”€ public β”‚ β”œβ”€β”€ favicon.ico β”‚ └── index.html β”œβ”€β”€ src β”‚ β”œβ”€β”€ assets β”‚ β”‚ β”œβ”€β”€ styles β”‚ β”‚ β”‚ β”œβ”€β”€ base.css β”‚ β”‚ β”‚ └── main.css β”‚ β”‚ └── logo.svg β”‚ β”œβ”€β”€ components β”‚ β”‚ β”œβ”€β”€ common β”‚ β”‚ β”‚ β”œβ”€β”€ BaseButton.vue β”‚ β”‚ β”‚ β”œβ”€β”€ BaseInput.vue β”‚ β”‚ β”‚ β”œβ”€β”€ BaseSelect.vue β”‚ β”‚ β”‚ β”œβ”€β”€ BaseTable.vue β”‚ β”‚ β”‚ └── LoadingSpinner.vue β”‚ β”‚ β”œβ”€β”€ dashboard β”‚ β”‚ β”‚ β”œβ”€β”€ DashboardModelList.vue β”‚ β”‚ β”‚ └── ModelCard.vue β”‚ β”‚ β”œβ”€β”€ icons β”‚ β”‚ β”‚ β”œβ”€β”€ IconCommunity.vue β”‚ β”‚ β”‚ β”œβ”€β”€ IconDocumentation.vue β”‚ β”‚ β”‚ β”œβ”€β”€ IconEcosystem.vue β”‚ β”‚ β”‚ β”œβ”€β”€ IconSupport.vue β”‚ β”‚ β”‚ └── IconTooling.vue β”‚ β”‚ β”œβ”€β”€ reports β”‚ β”‚ β”‚ β”œβ”€β”€ DateFilter.vue β”‚ β”‚ β”‚ └── ReportTable.vue β”‚ β”‚ β”œβ”€β”€ testing β”‚ β”‚ β”‚ β”œβ”€β”€ ApiTester.vue β”‚ β”‚ β”‚ └── TestingList.vue β”‚ β”‚ β”œβ”€β”€ __tests__ β”‚ β”‚ β”‚ └── HelloWorld.spec.js β”‚ β”‚ β”œβ”€β”€ training β”‚ β”‚ β”‚ β”œβ”€β”€ CameraSelector.vue β”‚ β”‚ β”‚ └── TrainingModelList.vue β”‚ β”‚ β”œβ”€β”€ users β”‚ β”‚ β”‚ β”œβ”€β”€ UserForm.vue β”‚ β”‚ β”‚ └── UserTable.vue β”‚ β”‚ β”œβ”€β”€ AppLayout.vue β”‚ β”‚ β”œβ”€β”€ HelloWorld.vue β”‚ β”‚ └── TheWelcome.vue β”‚ β”œβ”€β”€ mock β”‚ β”‚ β”œβ”€β”€ data.js β”‚ β”‚ β”œβ”€β”€ db.json β”‚ β”‚ β”œβ”€β”€ handlers.js β”‚ β”‚ └── server.js β”‚ β”œβ”€β”€ plugins β”‚ β”‚ └── vuetify.js β”‚ β”œβ”€β”€ router β”‚ β”‚ └── index.js β”‚ β”œβ”€β”€ services β”‚ β”‚ β”œβ”€β”€ api.js β”‚ β”‚ β”œβ”€β”€ authservice.js β”‚ β”‚ β”œβ”€β”€ modelservice.js β”‚ β”‚ β”œβ”€β”€ reportservice.js β”‚ β”‚ └── userservice.js β”‚ β”œβ”€β”€ store β”‚ β”‚ β”œβ”€β”€ modules β”‚ β”‚ β”‚ β”œβ”€β”€ auth.js β”‚ β”‚ β”‚ β”œβ”€β”€ models.js β”‚ β”‚ β”‚ β”œβ”€β”€ reports.js β”‚ β”‚ β”‚ └── users.js β”‚ β”‚ └── index.js β”‚ β”œβ”€β”€ utils β”‚ β”‚ β”œβ”€β”€ constants.js β”‚ β”‚ β”œβ”€β”€ helpers.js β”‚ β”‚ └── validators.js β”‚ β”œβ”€β”€ views β”‚ β”‚ β”œβ”€β”€ AboutView.vue β”‚ β”‚ β”œβ”€β”€ DashboardView.vue β”‚ β”‚ β”œβ”€β”€ HomeView.vue β”‚ β”‚ β”œβ”€β”€ LoginView.vue β”‚ β”‚ β”œβ”€β”€ ReportsView.vue β”‚ β”‚ β”œβ”€β”€ TestingView.vue β”‚ β”‚ β”œβ”€β”€ TrainingView.vue β”‚ β”‚ └── UsersView.vue β”‚ β”œβ”€β”€ App.vue β”‚ └── main.js β”œβ”€β”€ store β”‚ └── index.js β”œβ”€β”€ tests β”‚ └── unit β”‚ β”œβ”€β”€ integration β”‚ β”‚ β”œβ”€β”€ login.spec.js β”‚ β”‚ └── users.spec.js β”‚ β”œβ”€β”€ auth.spec.js β”‚ β”œβ”€β”€ models.spec.js β”‚ └── users.spec.js β”œβ”€β”€ db.json β”œβ”€β”€ index.html β”œβ”€β”€ jsconfig.json β”œβ”€β”€ package.json β”œβ”€β”€ package-lock.json β”œβ”€β”€ README.md β”œβ”€β”€ vite.config.js β”œβ”€β”€ vitest.config.js └── vue.config.js