Um app de música para dispositivos móveis projetado para aprimorar a reprodução de faixas armazenadas localmente. Oferecendo recursos como reprodução em segundo plano, um reprodutor dinâmico com seleção automática de cores para o layout, e uma funcionalidade de listagem automática das músicas no dispositivo.
Ele foi desenvolvido com Typescript, React Native e Styled Components.
.gitignore
# OSX
#
.DS_Store
# Xcode
#
build/
*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3
xcuserdata
*.xccheckout
*.moved-aside
DerivedData
*.hmap
*.ipa
*.xcuserstate
project.xcworkspace
# Android/IntelliJ
#
build/
.idea
.gradle
local.properties
*.iml
*.hprof
.cxx/
*.keystore
!debug.keystore
# node.js
#
node_modules/
npm-debug.log
yarn-error.log
# Bundle artifacts
*.jsbundle
# CocoaPods
/ios/Pods/
# Temporary files created by Metro to check the health of the file watcher
.metro-health-check*
# Expo
.expo/
web-build/
dist/
App.tsx
import React from "react";
import Routes from "./src/routes";
import { StatusBar } from "expo-status-bar";
import AppLoading from "expo-app-loading";
import { useFonts } from "expo-font";
import {
Nunito_400Regular,
Nunito_600SemiBold,
} from "@expo-google-fonts/nunito";
import {
Roboto_700Bold,
Roboto_500Medium,
Roboto_900Black,
} from "@expo-google-fonts/roboto";
import { ThemeControllerProvider } from "./src/contexts/theme";
import { PlayerProvider } from "./src/contexts/player";
import { BoardingProvider } from "./src/contexts/boarding";
export default function App() {
const [fontsLoaded] = useFonts({
Roboto_500Medium,
Roboto_700Bold,
Roboto_900Black,
Nunito_400Regular,
Nunito_600SemiBold,
});
if (!fontsLoaded) return <AppLoading />;
return (
<BoardingProvider>
<ThemeControllerProvider>
<PlayerProvider>
<StatusBar backgroundColor="#16171D" />
<Routes />
</PlayerProvider>
</ThemeControllerProvider>
</BoardingProvider>
);
}
Author: pedrohenriquebraga
Source: https://github.com/pedrohenriquebraga/soundify