Sobre o projeto

AstroTune (anteriormente Foobar Controller Mobile) é um aplicativo móvel para Android e iOS que funciona como controle remoto para os players de música de desktop Foobar2000 e DeaDBeeF. Ele se comunica com o player através da API BeefWeb, um componente que expõe dados e controle do player via HTTP. Principais recursos descritos no README: - Controle de reprodução: play, pause, stop, avançar, buscar e ajuste de volume. - Navegação na biblioteca: visualizar a biblioteca de músicas, incluindo pastas e arquivos, com navegação recursiva. - Visualização de playlists e troca da música em reprodução a partir da biblioteca. - Informações da música atual, capa do álbum e tags obtidas via API BeefWeb. - Armazenamento de configurações, incluindo armazenamento criptografado para senhas, e exportação/importação de configurações. - Temas personalizáveis e seletor de cores. - Controles de áudio exibidos na barra de notificações e na tela de bloqueio. - Descoberta de servidor na rede local. - O aplicativo é gratuito, não contém anúncios e, segundo informado, funciona totalmente sem conexão com a internet. Notas técnicas do README: - Construído com React Native e Expo, portanto tem como alvo Android e iOS; o README observa que poderia ser adaptado para React Native Web, mas isso exigiria retrabalho. - Usa Axios para requisições à API BeefWeb. - Usa padrões orientados a objetos, como classes base abstratas para temas e classes genéricas de configurações. - O README reconhece que a API BeefWeb usa apenas HTTP, portanto o tráfego de rede não é criptografado. Contexto do projeto: AstroTune foi criado como um Student Innovation Project na University of Advancing Technology. O README lista critérios de avaliação, vários dos quais estão marcados como concluídos, enquanto a conformidade de licenças para dependências e ativos de terceiros e as melhores práticas de segurança de rede permanecem não marcadas. As instruções de instalação são mantidas na wiki do projeto. O README também lista ativos de terceiros e suas licenças, e observa que o projeto está em estágio inicial de desenvolvimento e não está pronto para lançamento.