Skip to content

LabirasIFPI/syncdesk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SyncDesk Mobile App

Flutter Dart License: MIT

O SyncDesk Mobile é o aplicativo para dispositivos móveis desenvolvido como parte integrante do meu Trabalho de Conclusão de Curso (TCC). Ele atua como o cliente mobile da plataforma SyncDesk, permitindo o gerenciamento ágil de chamados (tickets) de TI e o recebimento de notificações em tempo real.

Este aplicativo consome a API RESTful do SyncDesk (desenvolvida com Django REST Framework) e utiliza o Firebase Cloud Messaging para notificações via push.


✨ Funcionalidades

  • Autenticação Integrada: Login seguro para usuários da equipe de suporte e TI.
  • Leitor de QR Code: Possibilidade de preencher informações de login (como o código da equipe) rapidamente utilizando a câmera do dispositivo via integração nativa.
  • Gestão de Chamados (Tickets): Visualização detalhada e acompanhamento de status de chamados atribuídos e abertos.
  • Notificações Push (Firebase): Alertas em tempo real sobre atualizações importantes e novos tickets.
  • Armazenamento Offline: Persistência de preferências e cache de dados offline (shared_preferences).
  • Design Premium: Interface de usuário construída com as heurísticas modernas de UI/UX, temas customizados e tipografia personalizada (google_fonts).

🏗 Arquitetura (MVVM)

O projeto adota o robusto padrão arquitetural MVVM (Model-View-ViewModel). Essa separação clara de responsabilidades facilita a manutenção, a legibilidade do código e o desenvolvimento escalável:

  • Models: Representação fiel das entidades de negócio do backend (ex: Ticket, Usuário).
  • Views: Interface interativa e responsiva em Flutter (Telas e Widgets).
  • ViewModels: Gerenciadores de estado e lógica de negócio. Eles orquestram as requisições aos Services e atualizam as Views reativamente (através do provider).
  • Services: Camada de infraestrutura e comunicação externa (Requisições HTTP, Firebase e persistência).

💻 Tecnologias e Dependências

A aplicação foi desenvolvida utilizando tecnologias modernas e eficientes:

  • Flutter & Dart: Framework principal para desenvolvimento híbrido e responsivo.
  • Provider: Injeção de dependências e gerência de estado (ViewModel).
  • HTTP: Cliente para consumo seguro da API do SyncDesk.
  • Firebase (Core & Messaging): Nuvem para a gestão do envio e recebimento de notificações push.
  • Shared Preferences: Solução rápida de chave-valor para armazenamento offline persistente.
  • Mobile Scanner: Módulo de processamento de imagem para leitura de códigos de barras e QR Codes.
  • Flutter Dotenv: Segurança e dinamicidade das variáveis de ambiente (.env vs .env.production).

📂 Estrutura do Repositório

A organização do código-fonte (dentro da pasta lib/) reflete fielmente as diretrizes da arquitetura MVVM:

app.syncdesk/
├── android/        # Código nativo específico do Android
├── ios/            # Código nativo específico do iOS
├── lib/            # Código fonte em Dart (Flutter)
│   ├── main.dart       # Ponto de entrada da aplicação
│   ├── models/         # Objetos e serialização JSON
│   ├── views/          # Telas, fragmentos e componentes visuais
│   ├── viewmodels/     # Lógicas de tela e integração de estado
│   ├── services/       # Clientes HTTP, Firebase e Local Storage
│   └── theme/          # Constantes visuais, paletas e tipografia
├── pubspec.yaml    # Configuração de dependências
└── README.md       # Esta documentação

🚀 Como Executar Localmente

Siga as etapas abaixo para clonar e rodar o projeto na sua máquina local de desenvolvimento:

Pré-requisitos

  1. Ter o Flutter SDK instalado.
  2. Ter um emulador Android/iOS configurado, ou um smartphone físico conectado e com modo de depuração ativado.
  3. Back-end: Ter o ambiente da API SyncDesk rodando localmente (ou configurar para consumir a de produção api.syncdesk.click).

Passos de Instalação

  1. Baixe e instale as dependências:

    flutter pub get
  2. Configure o Ambiente:

    • Crie ou verifique o arquivo .env na raiz do projeto.
    • Adicione a URL correta apontando para a sua instância do servidor.
  3. Compile e Inicie a aplicação:

    flutter run

🎓 Contexto Acadêmico (TCC)

Este repositório isola um dos principais componentes de software desenvolvidos em decorrência do meu Trabalho de Conclusão de Curso (TCC).

Ele tem a função de materializar o referencial teórico da monografia através da construção de um sistema prático e de alto desempenho, focado em resolver problemas de chamados de TI através da mobilidade de smartphones. Demonstra-se aqui o consumo de APIs REST, padrões arquiteturais (MVVM), criptografia, usabilidade e infraestrutura Cloud.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors