Skip to content

toshiossada/microfrontend_brand

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mobile Microfrontend

Projeto do aplicativo Business to Consumer contendo a nova proposta de arquitetura baseada no micro front-end.

EstruturaA estrutura inicial de pasta e arquivos do projeto ficará da seguinte maneira.

image

Execução do Projeto

Para que seja possível executar o projeto siga os seguintes passos: Agora é necessário baixar todas as dependências do projeto

make clean
make get

Retorno ao diretorio raiz e execute o comando para gerar os arquivos de white-label passando marca(brand) que será as que etão no diretorio da BRAND, o ambiente(env) que será PRODUCTION ou STAGING e a plataforma(platform) que será ANDROID ou IOS, exemplo:

make pre-action env=AMBIENTE brand=NOMA_BRAND platform=ANDROID

A execução pode ser encadeada

make clean; make get; make pre-action env=AMBIENTE brand=NOMA_BRAND platform=ANDROID;

Agora vá ao diretório minha_app e execute-o.

cd minha_app
flutter run

Minha App

image

O minha_app é o ponto de entrada da minha aplicação, ele irá conversar somente com o CORE que irá acessar os módulos.

Ele irá ter a chamado do runApp() e as classes referente ao white-label.

void main() {
	runApp(
		ModularApp(
			child: AppWidget(),
		),
	);
}

Core

image

O core é o coração do nosso app, ele fará a ponte de conversa entre o base_app e os módulos é nele que estará a configuração das rotas principais e a chamada para o MaterialApp().

class AppWidget extends StatelessWidget {
	const AppWidget({Key? key}) : super(key: key);
	
	@override
	Widget build(BuildContext context) {
		return MaterialApp(
			title: 'App B2C',
			theme: ThemeData(primarySwatch: Colors.blue),
		).modular();
	}
}

Commons

image

O commons é o pacote que será responsável por ter toda a funcionalidade que será compartilhado entre todos os módulos, como interceptors, widgets, stores, controllers, design system, etc.

Este e a Commons Dependencies são as únicas dependências que o modulo pode possuir.

Commons Dependencies

image

Aqui é onde terá todas as dependências do projeto e os módulos pegam suas dependências daqui, desta forma garantimos que todos os módulos utilizam a mesma versão de package Este e a Commons são as únicas dependências que o modulo pode possuir.

Modules

image

Os módulos são as quebras de funcionalidades do app. Eles são responsáveis pelas features do app, cada modulo deve possuir uma e somente uma responsabilidade.

IMPORTANTE: Os módulos são totalmente desacoplados e independente de outros módulos e não podem compartilhar informações entre eles, caso isso seja necessário, colocar no Commons.

Packages

image

Neste diretório ficara todos os pacote que são desenvolvidos internamente

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published