Introdução
Nos cursos anteriores conhecemos o Store Framework, um motor de construção de frente de loja construído usando o VTEX IO. Assim como o Store Framework, o Admin Framework se propõe a resolver um caso de uso específico: extensões para o painel administrativo.
Operações de comércio complexas quase nunca conseguem funcionar com uma única solução SaaS integrada, são necessários integrações de ERP, personalização, tracking, marketing digital, entre outros. A VTEX entende, no entanto, que ter um único ponto de contato facilitaria muito o trabalho dos operadores, tornando o admin uma ferramenta universal. É com essa premissa que o Admin Framework foi criado, trazendo a possibilidade de extensão de backoffice não apenas para criar dashboards que são característicos de um cliente e seu segmento, como para trazer insights e operação de provedores externos.
Atividade
Uma app de admin, funciona de forma muito parecida com a app de bloco de loja. Vamos iniciar o curso clonando um repositório template de react e evoluiremos para torná-lo uma app de admin:
- Clone o react app template:
_10git clone https://github.com/vtex-apps/react-app-template admin-course
- Abra o
admin-courseno seu editor de texto e adicione o builder de admin nomanifest.json:
_20//manifest.json_20{_20 "vendor": "CHANGE_ME",_20 "name": "CHANGE_ME",_20 "version": "0.0.0",_20 "title": "CHANGE_ME",_20 "description": "CHANGE_ME",_20 "builders": {_20 "react": "3.x",_20 "messages": "1.x",_20 "docs": "0.x",_20+ "admin": "0.x"_20 },_20 "dependencies": {},_20 "registries": [_20 "smartcheckout"_20 ],_20 "policies": [],_20 "$schema": "https://raw.githubusercontent.com/vtex/node-vtex-api/master/gen/manifest.schema"_20}
- Edite o
vendor,name,titleedescriptionda aplicação:
_20//manifest.json_20{_20+ "vendor": "appliancetheme",_20+ "name": "admin-sandbox",_20 "version": "0.0.0",_20 "title": "Admin Sandbox",_20 "description": "Admin Sandbox",_20 "builders": {_20 "react": "3.x",_20 "messages": "1.x",_20 "docs": "0.x",_20 "admin": "0.x"_20 },_20 "dependencies": {},_20 "registries": [_20 "smartcheckout"_20 ],_20 "policies": [],_20 "$schema": "https://raw.githubusercontent.com/vtex/node-vtex-api/master/gen/manifest.schema"_20}
NOTA: Se estiver fazendo o curso na sua própria loja e desenvolvendo sua própria app, lembre-se de que terá que passar pelo form de whitelist.
- Adicione o
vtex.styleguidecomo dependência, nós vamos utilizá-lo mais a frente no curso:
_22//manifest.json_22{_22 "vendor": "appliancetheme",_22 "name": "admin-sandbox",_22 "version": "0.0.0",_22 "title": "Admin Sandbox",_22 "description": "Admin Sandbox",_22 "builders": {_22 "react": "3.x",_22 "messages": "1.x",_22 "docs": "0.x",_22 "admin": "0.x"_22 },_22 "dependencies": {_22+ "vtex.styleguide": "9.x"_22 },_22 "registries": [_22 "smartcheckout"_22 ],_22 "policies": [],_22 "$schema": "https://raw.githubusercontent.com/vtex/node-vtex-api/master/gen/manifest.schema"_22}
- Na raiz do projeto, crie um diretório
/admin, a sua estrutura deve ficar:
_10|_10|_ CHANGELOG.md_10|_ docs/_10|_ messages/_10|_ react/_10+|_ admin/_10|_ package.json_10|_ manifest.json_10|_ yarn.lock