146 lines
4.6 KiB
Markdown
146 lines
4.6 KiB
Markdown
# 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 |