Last updated:
0 purchases
mega cli
Mega CLI #
CLI para criação e configuração inicial de projetos da Megaleios. #
Instalação #
Para instalar o mega_cli basta digitar no terminal:
dart pub global activate mega
copied to clipboard
Uso #
Antes de tudo, é necessário que o projeto esteja configurado no Firebase. Para isso, basta seguir o tutorial aqui e também o OneSignal.
Agora para configurar o projeto basta digitar no terminal:
mega_cli init
copied to clipboard
A seguir irá aparecer a seguinte mensagem:
1) Yes
2) No
Add base permission to info.plist ? [1]
copied to clipboard
Esse comando irá adicionar as permissões(Camera, Arquivos) no arquivo info.plist do projeto. Caso deseje adicionar essas permissões, basta digitar 1 e apertar enter. Caso não deseje adicionar, basta digitar 2 e apertar enter.
Logo após, irá aparecer a seguinte mensagem:
App name:
copied to clipboard
Digite o nome do seu app e aperte enter. Esse nome será inserido no Info.plist.
Logo após, irá aparecer a seguinte mensagem:
1) Yes
2) No
Add location permission in info.plist ? [1]
copied to clipboard
Esse comando irá adicionar a permissão de localização no arquivo info.plist do projeto. Caso deseje adicionar essa permissão, basta digitar 1 e apertar enter. Caso não deseje adicionar, basta digitar 2 e apertar enter.
E por ultimo, irá aparecer a seguinte mensagem:
1) Yes
2) No
Use "Dependency_Overrides" on flutter_mega ? [1]
copied to clipboard
Esse comando irá adicionar as dependências do flutter_mega como dependency_overrides no arquivo pubspec.yaml do projeto. Caso deseje adicionar essas dependências, basta digitar 1 e apertar enter. Caso deseje adicionar a dependência normalmente, basta digitar 2 e apertar enter.
Pronto! Seu projeto já está configurado para começar a desenvolver. 🪄
Explicando o que foi feito:
Ios
Adicionado as permissões de camera e arquivos no arquivo info.plist do projeto.
<key>NSCameraUsageDescription</key>
<string>Permita o acesso para que você possa tirar fotos para seu perfil no Mega Template.</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>Permita o acesso para que você possa escolher uma imagem para seu perfil no A a.</string>
// Caso tenha adicionado a permissão de localização
<key>NSLocationWhenInUseUsageDescription</key>
<string>Permita o acesso para que você possa usar a localização no Mega Template.</string>
<key>NSLocationWhenInUseUsageDescription</key>
<string>Permita o acesso para que você possa usar a localização no Mega Template.</string>
// Essa chave faz com que o APP é disponibilizado para todos os usuários automaticamente no teste interno da Apple
<key>ITSAppUsesNonExemptEncryption</key>
<false/>
copied to clipboard
Android
Adicionado o classpath do google-services no arquivo build.gradle do projeto para o uso do Firebase.
classpath 'com.google.gms:google-services:4.3.15'
copied to clipboard
Adicionado o plugin do google-services no arquivo app/build.gradle do projeto para o uso do Firebase, e adicionado a versão do compileSdkVersion e minSdkVersion
apply plugin: 'com.google.gms.google-services'
compileSdkVersion 34
minSdkVersion 22
copied to clipboard
Flutter
Adicionado as dependências do flutter_mega no arquivo pubspec.yaml do projeto.
mega_commons_dependencies:
path: ../megaflutter_commons_dependencies
mega_commons:
path: ../megaflutter_commons
mega_features:
path: ../megaflutter_features
copied to clipboard
Criado a pasta assets.
Criado o arquivo app_colors.dart no diretório lib/app/core.
Criado o arquivo app_urls.dart no diretório lib/app/core (Onde fica contido as urls do projeto).
Criado o arquivo app_theme.dart no diretório lib/app/theme.
Criação do arquivo application_binding.dart no diretório lib/app, onde fica a configuração da url base do projeto e a injeção do RestClientDio, responsável por fazer as requisições http.
Criação da pasta lib/app/data/models onde fica os modelos do projeto.
Configuração do arquivo analysis_options.yaml para o uso do lint, fique a vontade para configurar como desejar.
Configuração do main.dart para o uso do GetMaterialApp e algumas configurações necessárias, como a inicialização do Firebase, Hive, OneSignal e Intl.defaultLocale = 'pt_BR'.
Future<void> main() async {
WidgetsFlutterBinding.ensureInitialized();
Intl.defaultLocale = 'pt_BR';
await Future.wait([
FirebaseConfig.initialize(),
BaseHive.initHive(),
MegaOneSignalConfig.configure(
appKey: '', //sua app key
),
]);
final token = AuthToken.fromCache();
final String initialRoute = token == null ? AppPages.initial : Routes.home;
initializeDateFormatting('pt_BR', null);
runApp(
GetMaterialApp(
title: 'Application',
initialRoute: initialRoute,
getPages: AppPages.routes,
initialBinding: ApplicationBinding(),
theme: AppTheme.theme,
),
);
}
copied to clipboard
Removido a pasta test do projeto. 🧨 (Testes são importantes)
Configuração do GetX, criado os arquivos app_pages.dart e app_routes.dart no diretório lib/app/routes, onde fica as rotas do projeto.
Configuração inicial do Hive, criado o arquivo base_hive.dart no diretório lib/app/data/cache, onde fica a configuração inicial do Hive.
Criação do module Login e Home no diretório lib/app/modules, onde fica as páginas do projeto, por padrão é criado o Controller, Binding, View e Provider de cada módulo.
A estrutura do projeto ficará assim:
💡 Features Pré-configuradas #
Login
Home
Esqueci minha senha
Alterar senha
Notificações
Todas essas features já vem com a integração com a API do Mega Template, basta apenas configurar a url base do projeto no arquivo app_urls.dart e fazer o ajuste do layout conforme a necessidade do projeto 🚀
🖊️ Comandos extras #
mega_cli feature <nome_da_feature>
copied to clipboard
Esse comando irá criar uma feature com o nome passado como parâmetro, já com o provider, controller, view e binding configurados.
Caso deseja cria sem o provider, basta passar o parâmetro --no-provider no final do comando.
mega_cli feature <nome_da_feature> --no-provider
copied to clipboard
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.