https://github.com/imartinezl/giornale
Android app to discover one song per day with 💙 Expo & Firebase 🔥
https://github.com/imartinezl/giornale
agenda expo firebase music react-native
Last synced: 4 months ago
JSON representation
Android app to discover one song per day with 💙 Expo & Firebase 🔥
- Host: GitHub
- URL: https://github.com/imartinezl/giornale
- Owner: imartinezl
- License: mit
- Created: 2018-10-19T21:29:32.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2020-12-08T16:58:45.000Z (over 5 years ago)
- Last Synced: 2024-06-11T17:15:46.534Z (about 2 years ago)
- Topics: agenda, expo, firebase, music, react-native
- Language: JavaScript
- Homepage: https://expo.dev/@inigomlap/giornale
- Size: 44.6 MB
- Stars: 1
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# giornale
Android app to discover one song per day.
### Features
* Tap to reveal today's song
* Interactive calendar
* Scroll left to like the song
* Scroll to the right to open a related Spotify playlist
* Music player with shuffle and mute options
### Frameworks
* [React-native](https://facebook.github.io/react-native/) - [*0.57.1*]
* [Expo](https://expo.io/) SDK - [*32.0.0*]
* [React](https://reactjs.org/) - [*16.5.0*]
* [Firebase](https://firebase.google.com) for storage and database - [*^5.8.1*]
* [React-native-calendars](https://github.com/wix/react-native-calendars) - [*^1.22.0*]
* [Babel-preset-expo"](https://github.com/expo/expo/tree/master/packages/babel-preset-expo) - ["^5.0.0"]
### Install and run
* Install dependencies
```
npm install -g expo-cli
npm install
```
* Create a file "components/firebase_init.js" with the following content:
```
// Initialize Firebase
export const firebaseConfig = {
apiKey: "",
authDomain: ".firebaseapp.com",
databaseURL: "https://.firebaseio.com",
storageBucket: ".appspot.com"
};
```
* Upload songs files and album images to Firebase Storage and get download url
* Upload json data to Firebase Realtime Database
```json
{
"data": [
{
"date": "2019-02-04",
"title": "Time",
"artist": "Hans Zimmer",
"album": "Inception",
"spotify": "spotify:playlist:37i9dQZF1DWWF3yivn1m3D",
"id": 0,
"opened": false,
"liked": false,
"albumImage": "",
"songFile": ""
},
{},
]
}
```
* Run in development
```
npm start
```
* Publish to expo and build Android apk
```
expo publish
expo build:android
```
## Authors
* [Iñigo Martinez](https://imartinezl.github.io/)
## License
This project is licensed under the MIT License - see [LICENSE.md](LICENSE.md) file for details