Asteroid é uma extensão do Quasar (Quasar App Extension) contendo coleções de componentes, plugins, estilos, utilitários, etc. Inicialmente foi idealizado para nos ajudar com o desenvolvimento de aplicações web, principalmente para criações de C.R.U.D. (seguindo nossa API) de uma forma mais rápida, fácil e padronizada.
Com o passar do tempo, o asteroid se tornou mais do que apenas um facilitador e padronizador para desenvolvimento de aplicações web, mas também se tornou nosso framework de Design System para o frontend dentro da Inovação do grupo Bild & Vitta.
Observação: Alguns componentes do Quasar precisam ser importados manualmente dentro de quasar.config.js (por exemplo quando usar o QasFormView
terá que importar o QPage).
.
├── app-extension # Onde ficam as configurações do app-extension, como arquivos de boot/
│ └── src/
│ ├── boot/ # Arquivos boot (https://quasar.dev/quasar-cli-vite/boot-files#introduction)
│ ├── templates/ # Templates que serão copiados para dentro do projeto na hora de instalar o asteroid
│ ├── index.js # https://quasar.dev/app-extensions/development-guide/index-api
│ └── install.js # https://quasar.dev/app-extensions/development-guide/install-api
├── docs # Aplicação quasar da documentação (https://asteroid-v3.vercel.app/)/
│ └── src/
│ ├── assets/
│ │ └── menu.js # Arquivo onde será adicionado os items para o menu da documentação
│ ├── components/ # Componentes para serem usados na criação da documentação
│ ├── examples/ # Aqui vão todos os arquivos .vue que serão usados como exemplos na documentação
│ └── pages/ # Paginas da documentação, cada arquivo markdown é uma pagina./
│ ├── components/ # Paginas de componentes
│ ├── composables/ # Paginas de composables
│ ├── helpers/ # Paginas de utilitários
│ ├── plugins/ # Paginas de plugins
│ ├── start/ # Paginas de iniciando
│ └── styles/ # Paginas de estilos
├── ui/
│ ├── dev/ # Aplicação quasar para ser utilizada nos testes enquanto esta em desenvolvimento
│ └── src/
│ ├── assets/ # Diretório para adicionar arquivos como images, svg, etc.
│ ├── components # Diretório onde ficam de fato os componentes do asteroid/
│ │ └── meu-componente # PASTA DE EXEMPLO/
│ │ ├── QasMeuComponente.vue # COMPONENTE DE EXEMPLO
│ │ └── QasMeuComponente.yml # ARQUIVO PARA DOCUMENTAÇÃO DE EXEMPLO
│ ├── composables/ # Arquivos de composables (https://vuejs.org/guide/reusability/composables.html)
│ ├── css # CSS da aplicação/
│ │ ├── components/ # CSS que alteram estilos de componentes
│ │ ├── mixins/ # SASS mixins (https://sass-lang.com/documentation/at-rules/mixin)
│ │ ├── utils/ # Classes utilitárias
│ │ └── variables/ # Diretórios para alterar variáveis do sass e css
│ ├── directives/ # Diretivas do vue (https://vuejs.org/api/built-in-directives.html#built-in-directives)
│ ├── helpers/ # Diretório para adicionar funções utilitárias
│ ├── mixins/ # Mixins do vue (https://vuejs.org/api/options-composition.html#mixins)
│ ├── pages/ # Diretório para adicionar paginas para aplicação, como por exemplo: paginas de erro 404, 403, 500.
│ ├── plugins/ # Diretórios para adicionar plugins/
│ │ └── meu-plugin # PASTA DE EXEMPLO/
│ │ ├── MeuPlugin.js # PLUGIN DE EXEMPLO
│ │ └── MeuPlugin.yml # DOCUMENTAÇÃO DO MEU PLUGIN DE EXEMPLO
│ ├── asteroid.js # Arquivo para importar e exportar arquivos de: helpers, mixins, veu-plugin e composables
│ ├── index.scss # Arquivo de configurações de algumas variáveis do sass e css e para importar todos os arquivos css do asteroid
│ └── vue-plugin.js # Arquivo para importar todos components, diretivas e plugins criados dentro do /ui.
└── eslint # Biblioteca de lint para o asteroid.
Variável | Descrição |
---|---|
BUCKET_URL |
Endereço de hospedagem dos arquivos |
SERVER_BASE_URL |
Endereço base de acesso do servidor |
DEBUGGING |
Habilita os loggers dos componentes |
MAPS_API_KEY |
Key do google maps |
ABLY_KEY |
Key do Ably (notificações) |
- Finalizar
eslint-plugin-asteroid
; - Desenvolver um novo
asteroid-starter-kit
para o Quasar v2 + Asteroid v3, com suporte ao Webpack e Vite; - Adicionar componentes específicos criados nos projetos e que fazem sentido estar no Asteroid;
- Melhoria geral na documentação (adicionar mais exemplos, links etc);
- Refatoração de código dos componentes para uma melhorar a performance;
- Testes unitários nos componentes;
- Desenvolver uma CLI para facilitar o desenvolvimento dentro do Asteroid;
- Desenvolver uma CLI para facilitar o desenvolvimento fora do Asteroid;
- Adicionar exemplos de uso com lazy loading no
QasSearchBox
eQasSelect
; - Adicionar
handleProcess
em todas variáveis de ambiente que não são obrigatórias. - Migrar todos componentes para Composition API:
- QasActions.vue
- QasActionsMenu.vue
- QasAlert.vue
- QasAppBar.vue
- QasAppMenu.vue
- QasAppUser.vue
- QasAvatar.vue
- QasBadge.vue
- QasBox.vue
- QasBreakline.vue
- QasButton.vue
- QasBtnDropdown.vue
- QasCard.vue
- QasCheckboxGroup.vue
- QasCopy.vue
- QasDate.vue
- QasDateTimeInput.vue
- QasDebugger.vue
- QasDelete.vue
- QasDialog.vue
- QasDialogRouter.vue
- QasEmptyResultText.vue
- QasField.vue
- QasFilters.vue
- QasFormGenerator.vue
- QasFormView.vue
- QasGallery.vue
- QasGalleryCard.vue
- QasGridGenerator.vue
- QasHeaderActions.vue
- QasInput.vue
- QasLabel.vue
- QasLayout.vue
- QasListItems.vue
- QasListView.vue
- QasMap.vue
- QasNestedFields.vue
- QasNumericInput.vue
- QasOptionGroup.vue
- QasPageHeader.vue
- QasPagination.vue
- QasPasswordInput.vue
- QasPasswordStrengthChecker.vue
- QasProfile.vue
- QasResizer.vue
- QasSearchBox.vue
- QasSearchInput.vue
- QasSelect.vue
- QasSelectList.vue
- QasSignaturePad.vue
- QasSignatureUploader.vue
- QasSingleView.vue
- QasSortable.vue
- QasStatus.vue
- QasTableGenerator.vue
- QasTabsGenerator.vue
- QasTextTruncate.vue
- QasTransfer.vue
- QasTreeGenerator.vue
- QasUploader.vue
- QasWelcome.vue
MIT (c) Bild & Vitta [email protected]