BeatBuddies is a mobile app designed to be the Letterboxd for Music. With this app, users can track, review, and share their favorite music and explore others' recommendations. The app integrates the Spotify API for music data and authentication and uses Firebase for additional authentication features.
- Spotify API: Provides access to music data for user tracking and exploration.
- ExpoGo: Enables quick development and testing on mobile devices.
- React Native: Powers the cross-platform mobile interface.
- Firebase: Used for user authentication, currently set up with SMS-based authentication (Blaze plan required).
To run the app locally, follow these steps:
Clone the repository to your local machine and navigate to the project directory.
git clone <[email protected]:AntonCSalvador/BeatBuddies.git>
cd BeatBuddies
Navigate to the frontend
directory and install the necessary packages.
cd frontend
npm install
Create a spotify.tsx
file in the frontend/screens
directory with the following content. The Spotify credentials can be obtained from the Spotify Developer Dashboard.
export const SPOTIFY_CLIENT_ID = 'xxxxxx';
export const SPOTIFY_CLIENT_SECRET = 'xxxxxxxxxx';
export const CLOUDINARY_URL = 'https://api.cloudinary.com/v1_1/dk4wmqxux';
- Set up a Firebase account and enable authentication (currently, SMS authentication requires the Firebase Blaze plan).
- Note: Future releases will include a version without SMS authentication.
After completing the setup, start the Expo development server:
npx expo start
This will open the Expo Developer Tools in your browser. From here, you can use Expo Go to run the app on a connected device or emulator.
Common issue is solved by doing npx expo start --tunnel and making sure you are on the same wifi as the laptop running it.
- Non-SMS Authentication: Develop an authentication version that doesn’t rely on SMS.
- Enhanced Music Discovery: More Spotify integrations to enable better music exploration and recommendations.
- Enhanced Activity Tab: The activity tab will be changed such that it is updated dynamically to show what music your friends are enjoying.
- Kaleb - Project Manager & Developer
- Anton - Scrum Master & Developer
- Fernando - Groomer & Developer
- Shashank - Developer
For questions or contributions, feel free to reach out to the team through this repository.