mega_cli

Last updated:

0 purchases

mega_cli Image
mega_cli Images
Add to Cart

Description:

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

License:

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Files In This Product:

Customer Reviews

There are no reviews.