---
title: 'Estácio - Central de Ferramentaria AudioVisual'
disqus: hackmd
---
## Missão Certificação - Central de Ferramentas AudioVisual
<center><img src="https://i.imgur.com/yy0xmSC.png" width="200" align="center"></center>
## Sumário
---
:::info
:bulb: **Menu de Navegação**
[TOC]
:::
## Como Usar e Depências
---
* Link: [Vídeo da Aplicação em Funcionamento](https://github.com/carmodurante/Aplicacao_Central_de_Ferramentaria_AudioVisual)
* Bibliotecas Necessárias:
> Pillow 9.2.0 9.2.0
PySimpleGUI 4.60.1 4.60.3
numpy 1.23.1 1.23.2
pip 22.2 22.2.2
setuptools 63.2.0 65.0.2
tkTimePicker 2.0.2 2.0.2
validate-docbr 1.10.0 1.10.0
wheel 0.37.1 0.37.1
## Informações do Curso
---
* Curso: Desenvolvimento Full Stack
* Mundo: 1
* Turma: 9001
* Semestre: 1º
* Grupo: DevTeam 5
## Membros da Equipe e Professor
---
### Equipe
* Aluno: Carmo Durante Neto
* Matrícula: 202208090583
### Professor
* Mestre dos Magos: Roberto Maia
## Objetivo
---
::: danger
### 📌 Objetivo da Aplicação
Desenvolver uma aplicação para gerenciamento de ferramentas em um ambiente de produção de conteúdo audiovisual de grande porte.
:::
## Contexto Geral da Aplicação e Processo
---
:::warning
### 🧾 Contexto
* > Diferentes equipamentos com diversas necessidades de manutenção
* > Equipes de manutenção trabalham em turnos
* > Necessidades de diversas ferramentas específicas e com valores elevados
* > Ferramentas precisam estar em bom estado de conservação e aferidas de acordo com as normas e padrões do fabricantes
* > Ferramentas com diversas características técnicas que indicam para qual uso específico elas se aplicam
* > A correta reserva da ferramenta antes da execução do trabalho é fator crítico de sucesso
:::
:::info
### 🧾 Descrição do Processo
* > Local onde as ferramentas ficam armazenadas chama-se “Central de Ferramentaria”
* > As ferramentas precisam ser reservadas com, no mínimo, 24 horas de antecedência
* > Solicitação de reserva são enviadas por por e-mail para o responsável pela Central
* > No momento da reserva deve-se informar: Data e Hora da Retirada e da Devolução
* > Reservas precisam ficar associadas ao técnico responsável pela sua retirada
* > Uma ferramenta só pode ser reservada se ela estiver disponível na data e hora da retirada, ou seja, não pode estar reservada por outro técnico no momento da retirada
* > O responsável pela central controla as devoluções de forma a garantir que as ferramentas estarão sempre disponíveis no momento previsto para a próxima retirada
:::
## Entregáveis
---
::: success
### ✔ Obrigatórios
- [X] Cadastro de ferramentas
- [X] Cadastro de técnicos
- [X] Consulta as ferramentas cadastradas
- [X] Consulta dos técnicos cadastrados
:::
:::warning
### 🎉🙌 Bônus
- [X] Cadastro de reserva de ferramenta
- [X] Consulta de reservas de ferramentas
- [X] Baixar CSV de Ferramenta, Tecnicos e Reservas
:::
## Fluxo e Funcionalidades
---
:::info
### ⬅️⬆️ Fluxo das Telas
```mermaid
graph LR;
subgraph aut [Autenticação]
Login-- Cadastrar Usuário --->Cadastro-- Efetuar Login --->Login;
end
Login-- Logado ---->Central_de_Ferramentaria;
Central_de_Ferramentaria-- Tab Admin --->Cadastros;
Central_de_Ferramentaria-- Tab --->Consultas;
Central_de_Ferramentaria-- Tab Admin--->Reservas;
subgraph finc [Funcionalidades]
Cadastros--->Cadastro_de_Ferramentas;
Cadastros--->Cadastro_de_Tecnicos;
Consultas--->Consulta_de_Ferramentas;
Consultas--->Consulta_de_Tecnicos;
Consultas--->Consulta_de_Reservas;
Reservas
end
```
### 🔜 Descrição das Funcionalidades
* > **Central de Ferramentaria**
* > Tela inicial/Menu irá conter os botões de naveção para as funcionalidades da aplicação.
* > **Cadastros**
* > Poderá efetuar cadastros de tecnico e ferramenta e inserir imagem para ambos.
* > **Consultas**
* > Poderá consultar as reservas, ferramentas e tecnicos cadastrados no sitema.
* > **Reserva/Devolução**
* > Fazer reservas, devolução, exclusão dos registros e limpar os filtros da tela
* > **Baixar CSV**
* > Poderá ser feito o download dos arquivos csv da base de ferramentas, tecnicos e reservas.
:::
## Tabela de Objetos e Relacionamentos
---
#### **Tabela de Ferramentas**
| Nome Campo | Descrição | Tipo | Chave? | Informações |
| -------- | -------- | -------- | -------- | -------- |
|id_ferramenta|ID Sequencial Ferramenta|int|Sim|Código gerado de forma automática pelo sistema|
|descricao| Descricao da Ferramenta|string|Nao|Texto livre|
|fabricante|Nome do Fabricante|string|Nao|Texto livre|
|voltagem|Voltagem de uso|string|Nao|Texto livre - 110/220|
|part_number|Código no Fabricante|int|Nao| Numero Livre |
|tamanho|Tamanho|int|Nao| Texto Livre |
|un_medida|Unidade de Medida|string|Nao|cm, polegadas, metros, etc...|
|tipo|Tipo da Ferramenta|string|Nao|elétrica, mecânica, segurança|
|material|Material da Ferramenta|string|Nao|ferro, madeira, plástico, borracha|
|tempo_reserva|Tempo máximo de reserva|string|Nao|Mascara para Horas|
---
#### **Tabela de Técnicos**
| Nome Campo | Descrição | Tipo | Chave? | Informações |
| -------- | -------- | -------- | -------- | -------- |
| id_cpf | CPF | int | Sim | Mascara de CPF |
| nome | Nome | string | Nao | Texto Livre |
| telefone | Telefone | int | Nao | Mascara para Celular |
| turno | Turno | string | Nao | ListBox - manhã, tarde ou noite |
| nome_equipe | Nome da Equipe | string | Nao | Texto Livre |
---
#### **Tabela de Reservas**
| Nome Campo | Descrição | Tipo | Chave? | Informações |
| -------- | -------- | -------- | -------- | -------- |
| id_reserva |ID Sequencial da reserva| int| Sim | Código gerado de forma automática pelo sistema|
| id_ferramenta | ID Sequencial da Ferramenta | int| Sim |Código gerado de forma automática pelo sistema|
| id_cpf | CPF do Técnico | int | Sim | |
| nome| Nome do Técnico | string | Sim | |
| Descricao | Descricao da solicitação|String|Nao||
| hora_retirada_reserva |Hora ferramente retirada|time|Nao|Mascara de Horas|
| data_devolução_reserva |Data ferramenta devolvida|date|Nao|Mascara de Datas|
| hora_devolução_reserva |Hora ferramente devolvida|time|Nao|Mascara de Horas|
| e |Reserva de Emergencia|Boolean|Nao| Reserva de Emergencia Ignora a Validação de Data, porém é necessário ter estoque |
---
#### Tabela de Usuários
| Nome Campo | Descrição | Tipo | Chave? | Informações |
| -------- | -------- | -------- | -------- | -------- |
| username | nome do usuário | string | Sim | Nome do Usuário |
| email | E-mail | string | Sim | Email do usuário |
| senha | Senha | string | Nao | Nome do Usuário|
| admin | Administrador | boolean | Nao | Usuário Administrador ?|
> Obs: Somente o usuário Administrador pode fazer cadastro e reserva.
## Linha do Tempo do Projeto
---
```mermaid
gantt
title Linha do Tempo
section Requisitos
Documentação :a1, 2022-06-20, 10d
Análise do Aplicaçao :2d
Arquitetura :5d
section Funcionalidades
Regra de Negocio :a2, 2022-06-30, 10d
Funcoes da Tela :after a2 , 45d
section Layout
Cadastro Ferramenta :a3, 2022-07-10 , 5d
Cadastro Tecnicos :5d
Cadastro Reserva :5d
Consulta Ferramenta :5d
Consulta Tecnicos :5d
Consulta Reservas :5d
section Sistema de Arquivos
Definição :a4, 2022-07-30, 8d
Integração :after a4 , 25d
```
## Links e Referências
---
:::info
1. **Referências**
>[GitHub - Central de Ferramentaria](https://github.com/carmodurante/Aplicacao_Central_de_Ferramentaria_AudioVisual)
:::
###### tags: `Documentation` `Projects` `Python`