gestao_ponto_package 2.3.1 copy "gestao_ponto_package: ^2.3.1" to clipboard
gestao_ponto_package: ^2.3.1 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
130
points
28
downloads

Documentation

API reference

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