| public | ||
| src | ||
| store | ||
| tests/unit | ||
| .env | ||
| .gitignore | ||
| db.json | ||
| eslint.config.js | ||
| extensions.json | ||
| index.html | ||
| jsconfig.json | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| vite.config.js | ||
| vitest.config.js | ||
| vue.config.js | ||
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:
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