gestao_ponto_package 2.2.4 copy "gestao_ponto_package: ^2.2.4" to clipboard
gestao_ponto_package: ^2.2.4 copied to clipboard

Flutter package with time tracking and attendance management features for Senior mobile apps.

📦 Gestão Ponto Package #

Biblioteca Flutter modular baseada em Clean Architecture para disponibilizar acesso à tela do banco de horas.


📚 Visão Geral #

Gestão Ponto Package é uma biblioteca modular Flutter construída com os princípios da Clean Architecture, promovendo separação de responsabilidades, testabilidade e escalabilidade. Ideal para projetos que buscam organização de código em módulos reutilizáveis e independentes.


🧱 Estrutura do Projeto #

Nossa arquitetura de projeto é baseada na estrutura Clean Architecture, que busca separar a lógica da aplicação em várias camadas para melhorar a maintainability e a escalabilidade.

A biblioteca é organizada em módulos seguindo a estrutura:

lib/

└── nome_do_modulo/

├── data/

│ ├── datasources/

│ ├── models/

│ └── repositories/

├── domain/

│ ├── entities/

│ ├── repositories/

│ └── mappers/

└── presentation/

├── cubit/

├── pages/

└── widgets/

Cada módulo é autossuficiente e pode ser importado individualmente por outros módulos ou projetos.


🚀 Como Usar #

1. Instalação #

Adicione a dependência ao seu pubspec.yaml:

dependencies:
  flutter_localizations: # para a internacionalização das telas e componentes
    sdk: flutter

  gestao_ponto_package: # import do package
    git:
      url: https://git.senior.com.br/gestao-ponto/gestao-ponto-package
      ref: main

flutter: # para a internacionalização das telas e componentes
  generate: true

2. Importação #

import 'package:gestao_ponto_package/gestao_ponto_package.dart' as gestao;

3. Exemplo de Uso #

Caso seu app use modular:

// O modulo InitializePackageModule deve ser inicializado no AppModule:
ModuleRoute(
  '/gestao_ponto',
  module:  gestao.InitializePackageModule(),
),
// O package deve ser inicializado antes de ser usado, usando o método:
if (!gestao.Config.isInitialized()) {
  gestao.Config.init(InitConfigService.dev, token: token.accessToken);
}
// É possivel validar a atualizar o token, usando o método:
if (!gestao.Config.validNewToken(token: token.accessToken)) {
  gestao.Config.updateTOken(newToken: token.accessToken);
}
// Para fazer a verificação de permissão do usuário, deve ser usado o método:
gestao.Config.isAnyMenuItemAllowed;
// O widget MenuContainer() retorna a lista de widgets iniciais da lib:
gestao.MenuContainer(),

🧩 Módulos Disponíveis #

Módulo Descrição Status
gestao_ponto Inicializa o Modular ✅ Estável
initialize_package_module Gerencia os modulos da aplicação 🚧 Em desenvolvimento
interceptor Responsavel por todas as requisição necessarias para o inicio do funcionamento 🧪 Em testes

🛠️ Tecnologias Utilizadas #

  • Flutter Modular

  • Cubit

  • Dartz

  • Equatable

  • Flutter Test / Mocktail

  • Clean Architecture

  • Modularização por features


✅ Boas Práticas e Convenções #

  • Cada módulo deve expor um arquivo exports.dart para facilitar importações externas.
  • Não deve haver acoplamento entre camadas (ex: presentation não acessa diretamente data).
  • domain nunca depende de data nem de presentation.
  • Regras de negócio ficam exclusivamente nos gerenciadores de estado e mappers.
  • Toda lógica deve ser testada, com no mínimo 80% de coverage por módulo.
  • Todos os imports devem ser relativos.
  • Não usar o prefixo I para interfaces (ex.: UserRepository ao invés de IUserRepository).
  • Não usar o sufixo Implementation para implementações (ex.: UserRepositoryImpl ao invés de UserRepositoryImplementation).

🧪 Testes #

Execute os testes com:

flutter test

Os testes estão organizados por camada e módulo, seguindo a estrutura:

test/

└── nome_do_modulo/

├── data/

├── domain/

└── presentation/
0
likes
0
points
28
downloads

Publisher

unverified uploader

Weekly Downloads

Flutter package with time tracking and attendance management features for Senior mobile apps.

Repository

License

unknown (license)

Dependencies

connectivity_plus, dartz, dio, equatable, flutter, flutter_bloc, flutter_localizations, flutter_modular, font_awesome_flutter, intl, provider, senior_design_system, senior_design_tokens, shared_preferences, skeletonizer, url_launcher

More

Packages that depend on gestao_ponto_package