App-Queue é um aplicativo criado para organizar e gerenciar filas em unidades básicas de saúde. Seu objetivo principal é realizar uma triagem simples, organizar os pacientes em uma fila por gravidade do problema e facilitar o trabalho das equipes de saúde, incluindo a Secretaria, Enfermagem e Médicos.
- 👩⚕️ Triagem de Pacientes: Permite uma triagem rápida e simples dos pacientes.
- 🏥 Fila por Gravidade: Organização automática da fila baseada na gravidade do problema informado.
- 🔒 Acesso Restrito: Apenas usuários autorizados (Secretaria, Enfermagem e Médicos) podem acessar o sistema.
- 📊 Interface Intuitiva: Telas específicas para cada função do profissional de saúde.
-
Certifique-se de ter Flutter SDK e Dart instalados.
-
Clone o repositório:
git clone https://github.com/alexandrendev/app-queue.git cd app-queue -
Instale as dependências:
flutter pub get
-
Rode o aplicativo em um dispositivo ou emulador:
flutter run
A estrutura de diretórios do projeto foi organizada de forma a facilitar a manutenção e escalabilidade. Abaixo está a descrição detalhada dos principais diretórios e arquivos:
app_queue/
├── android/ # Código específico para a plataforma Android
├── lib/ # Código fonte do aplicativo Flutter
│ ├── assets/images/ # Imagens e recursos estáticos
│ │ └── logo.png # Logo do aplicativo
│ ├── cfg/ # Arquivos de configuração
│ │ └── back_4_app.dart # Configuração de conexão com o backend
│ ├── components/ # Componentes reutilizáveis da interface
│ │ ├── my_button.dart # Componente de botão personalizado
│ │ ├── my_checkBox.dart # Componente de checkbox personalizado
│ │ ├── my_dropdown.dart # Componente de dropdown personalizado
│ │ ├── my_logo.dart # Componente de logo personalizado
│ │ ├── my_person.dart # Componente de pessoa (por exemplo, paciente)
│ │ ├── my_priority.dart # Componente de prioridade de atendimento
│ │ └── my_text_input.dart # Componente de campo de entrada de texto
│ ├── controller/ # Lógica de controle (controllers)
│ │ └── paciente_controller.dart # Controlador para manipulação dos dados dos pacientes
│ ├── db/ # Arquivos de configuração de banco de dados
│ │ └── connection_b4a.dart # Configuração da conexão com o banco de dados
│ ├── model/ # Modelos de dados utilizados no app
│ │ └── paciente_model.dart # Modelo de dados do paciente
│ ├── pages/ # Páginas da aplicação (telas)
│ │ ├── cadastro_paciente.dart # Tela de cadastro de paciente
│ │ ├── cadastro_usuario.dart # Tela de cadastro de usuário
│ │ ├── home_atendente.dart # Tela principal para atendentes
│ │ ├── home_consultorio.dart # Tela principal para médicos
│ │ ├── init_page.dart # Tela de inicialização
│ │ ├── login_page.dart # Tela de login
│ │ └── triagem.dart # Tela de triagem de pacientes
│ ├── themes/ # Temas (escuro e claro)
│ │ ├── dark_theme.dart # Tema escuro
│ │ └── light_theme.dart # Tema claro
│ └── main.dart # Arquivo principal que inicializa o app
├── test/ # Testes unitários do aplicativo
├── web/ # Código específico para a versão web
├── README.md # Arquivo de documentação do projeto
├── analysis_options.yaml # Arquivo de configuração de análise do código
├── pubspec.lock # Dependências do projeto (lock file)
└── pubspec.yaml # Arquivo de configuração de dependências do projeto
O Diagrama Entidade-Relacionamento (DER) do sistema reflete a estrutura do banco de dados utilizada para gerenciar os dados de pacientes, usuários e fichas médicas no App-Queue. Abaixo estão as principais entidades e seus relacionamentos:
Aqui está o diagrama do banco de dados que representa essas relações:
-
Paciente
- Representa os dados pessoais dos pacientes.
- Atributos principais:
id: Identificador único do paciente.nome: Nome completo do paciente.data_nascimento: Data de nascimento do paciente.endereco_id: Referência a um endereço.telefone_id: Referência a um telefone.- Timestamps:
created_ateupdated_atpara auditoria.
-
Ficha
- Representa a ficha de triagem médica.
- Atributos principais:
id: Identificador único da ficha.paciente_id: Referência ao paciente (chave estrangeira).medicacao_continua: Indica se o paciente faz uso de medicação contínua.observacoes: Notas adicionais sobre a triagem.prioridade_manchester: Classificação de prioridade no protocolo de Manchester.- Timestamps:
created_ateupdated_atpara auditoria.
-
User
- Representa os usuários que acessam o sistema (como médicos, enfermeiros e atendentes).
- Atributos principais:
id: Identificador único do usuário.matricula: Número de matrícula do usuário.senha: Senha para autenticação.cargo: Enumeração que define o cargo (ex.: médico, enfermeiro, secretário).
-
Paciente ↔ Ficha
- Relacionamento de 1:N (um paciente pode ter várias fichas).
- O atributo
paciente_idna tabelafichareferencia oidna tabelapaciente.
-
User
- Esta entidade está isolada no DER e representa os usuários do sistema, sem relacionamentos diretos com outras tabelas.
- O relacionamento entre Paciente e Ficha é crucial para rastrear as triagens realizadas.
- A tabela User garante segurança e acessos restritos, alinhados ao cargo de cada usuário no sistema.
- O atributo
prioridade_manchesteré especialmente importante, pois define a gravidade de cada caso no fluxo de atendimento.
Esse design é funcional e flexível, atendendo às necessidades do App-Queue de forma eficiente e escalável.
Contribuições são bem-vindas!
-
Faça um fork do projeto.
-
Crie uma branch para sua funcionalidade:
git checkout -b minha-nova-funcionalidade
-
Commit suas alterações:
git commit -m 'Descrição da funcionalidade' -
Envie para o repositório original:
git push origin minha-nova-funcionalidade
-
Abra um Pull Request.
Aqui estão alguns recursos essenciais que podem ajudar no desenvolvimento, gerenciamento e configuração do projeto App-Queue:
- 📦 Flutter: Consulte a Documentação Oficial do Flutter para informações detalhadas sobre desenvolvimento com o framework, criação de interfaces e uso de widgets.
- 🐦 Dart: Aprenda mais sobre a linguagem Dart acessando a Documentação Oficial do Dart.
- 🔥 Firebase: Configure e gerencie seu backend na Documentação Oficial do Firebase.
- 🗃️ Back4App: Configure seu backend de forma simples com o Guia do Back4App.
- 📂 Firebase Firestore: Aprenda a estruturar e consultar dados no banco Cloud Firestore acessando o Guia do Firestore.
- Alexandre Neves
- Eloisa de Carvalho
- Mário Alves
- Thiago Marcelino
Este projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.



