This project is a Spotify-integrated web application developed as part of a summer internship challenge. The goal is to extend Spotifyβs social features by building a platform where users can view and share their music tastes, interact through message boards, and connect via private messaging. Built using React, Express, and Firebase, the app consumes the Spotify API to create a fully interactive experience.
-
Clone the Repository:
git clone https://github.com/your-username/spotify-social-app.git cd spotify-social-app -
Install Dependencies:
- Backend:
cd backend npm install - Frontend:
cd ../frontend npm install
- Backend:
-
Environment Setup: Create a
.envfile in both the frontend and backend directories. Example:SPOTIFY_CLIENT_ID=your_client_id SPOTIFY_CLIENT_SECRET=your_client_secret FIREBASE_API_KEY=your_firebase_key
-
Run the App:
- Backend:
npm start
- Frontend:
npm start
- Backend:
- Spotify Developer Account: Set up your app credentials at Spotify Developer Dashboard.
- Firebase Project: Initialize your Firebase project at Firebase Console.
- Authentication Setup: Ensure Spotify OAuth is configured and integrated on the Express server.
- Login using Spotify credentials.
- Explore:
- View your top songs and artists over different time ranges.
- Discover other usersβ public profiles.
- Engage in forum discussions or send direct messages.
- Profile Management:
- Customize your profile with preferred music stats.
- Toggle between public and private visibility.
- Interact:
- Post and like messages in forums.
- Search for and join various discussion boards.
| Component | Description |
|---|---|
| Liked Songs Page | Shows user's liked songs with album artwork. |
| Top Artists/Songs Pages | Displays user's top artists/songs (All Time, Last Year, Last Month). |
| User Profile Page | Editable profile with visibility settings and music stat display. |
| Discover Page | Explore public user profiles and send messages. |
| Inbox Page | Chat interface showing message threads. |
| Forum Page | Browse and post in discussion boards; search and like posts. |
| Authentication | Spotify OAuth login integration. |
| Backend API | Express.js server to handle all external API and Firebase interactions. |
| Database | Firebase used for user profiles, messages, and forum posts. |
| Feature | Status |
|---|---|
| Spotify Login | β Completed |
| Music Stats Display | β Completed |
| Profile Management | β Completed |
| Messaging | β Completed |
| Forums | β Completed |
| Forum Search & Likes | β Completed |
| Mobile Responsiveness | β In Progress |
| Unique App Branding | β Completed |
-
Intern Dev Team 4β Launch SWE 2025
-
Forge & Spotify Mentors
-
Project Mentors & Reviewers
-
Further resources: