autodroid
v0.1.4
Published
SDK client for Autodroid API
Downloads
281
Maintainers
Readme
📝 Índice
- 📖 Sobre
- 🚩 Antes de começar
- 👨🏻💻 Utilização
- ✨ Visão Geral do Projeto
- ⛏️ Tecnologias Utilizadas
- 🤝🏻 Contribuições
- 💾 Changelog
- 📖 Referências
📖 Sobre
Este projeto parte da necessidade de oferecer a ferramenta DroidAugmentor e MalSynGen como um serviço, conforme apresentado em AutoDroid.
Esta SDK foi desenvolvida para facilitar a integração e desenvolvimento de aplicações que desejam se conectar com a AutoDroid API.
Acesse o repositório da aplicação AutoDroid API para maiores informações sobre o projeto e as configurações necessárias antes de utilizar essa biblioteca.
O projeto também pode ser utilizado através desta coleção do Postman.
Conheça o projeto Malware Datalab!
🚩 Antes de começar
O backend da aplicação utiliza o Firebase para autenticação e autorização de usuários. Para utilizar a aplicação, é necessário criar um projeto no Firebase e configurar as credenciais de acesso, conforme em Firebase.
👨🏻💻 Utilização
Instale esta biblioteca utilizando seu gerenciador de pacotes favorito:
yarn add autodroid
# ou
npm install autodroid
# ou
pnpm install autodroid
Configurado o Firebase, você pode utilizar a biblioteca para se conectar com a API do AutoDroid:
import { AutoDroidSdk } from "autodroid";
const autoDroid = new AutoDroidSdk({
baseUrl: "https://mdl-api.unihacker.club/graphql",
getAuthToken: async () => {
const token = (await firebaseAuth.currentUser?.getIdToken()) || "";
return token;
},
onAuthError: () => {
// OPTIONAL: add your logic here for Authentication Error
},
onGraphQLError: error => {
// OPTIONAL: add your logic here for GraphQL Errors
},
onNetworkError: error => {
// OPTIONAL: add your logic here for Network Errors
},
});
export { autoDroid };
Utilize a instância autoDroid
para realizar as operações disponíveis na API, como por exemplo:
import { autoDroid } from "./api";
const start = async () => {
const response = await autoDroid.processing.requestDatasetProcessing({
data: {
dataset_id: "...",
processor_id: "...",
parameters: [
{
name: "training_algorithm",
value: "RandomForest,SupportVectorMachine,DecisionTree",
},
{
name: "number_epochs",
value: "100",
},
],
},
});
console.log(response.status);
};
start();
✨ Visão Geral do Projeto
A API está inserida no contexto do projeto AutoDroid, que é uma aplicação que visa oferecer a ferramenta DroidAugmentor/MalSynGen como um serviço.
⛏️ Tecnologias Utilizadas
- TypeScript - Linguagem de programação
- Node.js - Ambiente de execução
- Apollo Client - Cliente GraphQL
- GraphQL Codegen - Gerador de código GraphQL
- Yarn - Gerenciador de pacotes
Geral
É importante mencionar as demais ferramentas que serão utilizadas nas duas partes do projeto:
- Git - Controle de versão
- Husky - Hooks do Git
- Lint Staged - Ferramenta para verificar arquivos commitados
- Commitizen - Auxiliar para mensagens de commit do Git
- Commitlint - Verificador de mensagens de commit do Git
- Standard Version - Gerador de changelog
- Eslint - Framework de verificação de código
- Prettier - Formatador de código
- Semver - Versionamento semântico
📖 Referências
LAVIOLA, Luiz Felipe; PAIM, Kayuã Oleques; KREUTZ, Diego; MANSILHA, Rodrigo Brandão. AutoDroid: disponibilizando a ferramenta DroidAugmentor como serviço. In: ESCOLA REGIONAL DE REDES DE COMPUTADORES (ERRC), 20. , 2023, Porto Alegre/RS. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2023 . p. 145-150. DOI: https://doi.org/10.5753/errc.2023.929.