JukeBox is a social media platform designed for music lovers to share, rate, and discover music. Built using modern web development frameworks, JukeBox integrates the Spotify API to enhance music discovery and provides a seamless, user-friendly experience.
- Dynamic Music Reviews: Users can post reviews, rate albums, and interact with others' opinions.
- Spotify Integration: Search and explore music directly from Spotify's extensive library.
- User Authentication: Secure login and account management through Appwrite.
- Responsive Design: Optimized for desktop and mobile for an enhanced user experience.
- Sign Up/Login: Create an account or log in securely using the Appwrite authentication system.
- Discover Music: Search for tracks and albums directly via the Spotify API.
- Write Reviews: Post your thoughts, rate music, and engage with other users.
- React: A JavaScript library for building user interfaces.
- TailWind CSS: Ensures responsive and visually appealing design.
- Appwrite: Manages database and user authentication.
- Spotify API: Powers music search and discovery features.
- Node.js and npm installed.
- An Appwrite instance set up.
- Spotify API credentials (client ID and secret).
-
Clone the repository:
git clone https://github.com/not-finley/jukebox.git cd jukebox
-
Install dependencies:
npm install
-
Configure environment variables: Create a
.env
file in the root directory with the following:REACT_APP_SPOTIFY_CLIENT_ID=your_spotify_client_id REACT_APP_SPOTIFY_CLIENT_SECRET=your_spotify_client_secret REACT_APP_APPWRITE_ENDPOINT=your_appwrite_endpoint REACT_APP_APPWRITE_PROJECT_ID=your_appwrite_project_id
-
Start the development server:
npm run dev
- Social Features: Follow your friends or other accounts and get updated on their activity.
- Personalized Recommendations: Explore music tailored to your preferences.
- Playlist Sharing: Allow users to create and share playlists, and import exsiting ones from spotify.
- Advanced Analytics: Provide insights into user listening trends. (Like Spotify wrapped but year round)
I welcome contributions! Please follow these steps:
- Fork the repository.
- Create a new branch (
feature/your-feature-name
). - Commit your changes and push to your branch.
- Open a pull request.
For questions or feedback, feel free to reach out:
- Email: [email protected]
- GitHub: not-finley
- LinkedIn: Finley Harrison