Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/richllew182/shuffle-showdown
Shuffle Showdown is an interactive quiz application built using Node.js, Express, and EJS for dynamic content rendering. The application utilizes Spotify's OAuth to access a user's liked songs and generate a fun 10-round quiz based on those tracks.
https://github.com/richllew182/shuffle-showdown
ejs express-js node-js oauth2
Last synced: about 1 month ago
JSON representation
Shuffle Showdown is an interactive quiz application built using Node.js, Express, and EJS for dynamic content rendering. The application utilizes Spotify's OAuth to access a user's liked songs and generate a fun 10-round quiz based on those tracks.
- Host: GitHub
- URL: https://github.com/richllew182/shuffle-showdown
- Owner: RichLlew182
- License: mit
- Created: 2024-09-20T15:18:44.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2024-10-28T20:28:25.000Z (3 months ago)
- Last Synced: 2024-12-22T06:43:03.831Z (about 1 month ago)
- Topics: ejs, express-js, node-js, oauth2
- Language: JavaScript
- Homepage: https://shuffle-showdown.adaptable.app/
- Size: 95.7 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Shuffle Showdown
Shuffle Showdown is an interactive quiz application built using **Node.js**, **Express**, and **EJS** for dynamic content rendering. The application utilizes Spotify's OAuth to access a user's liked songs and generate a fun 10-round quiz based on those tracks.
## Features
- **Dynamic Content**: Uses EJS for rendering dynamic content based on user interactions.
- **Spotify Integration**: Authenticates users through Spotify's OAuth to access their liked songs.
- **Quiz Generation**: Creates a 10-round quiz where each round presents a track and an artist, alongside three related artists as incorrect options.
- **User Interaction**: Engaging user experience with randomized tracks and artists to challenge players.
- **Scoring System**: For every correct answer, users earn 50 points plus the remaining round time, and at the end of the quiz, users receive a total score reflecting their performance.## How It Works
1. **User Authentication**: The app authenticates users with Spotify to fetch their liked songs.
2. **Quiz Creation**: For each round of the quiz, a track and artist are selected. Three related artists are also fetched to provide incorrect answers, making the quiz challenging.
3. **Gameplay**: Users hear a preview of the track and try to guess the artist within the time limit.
4. **Scoring**: At the end of the 10 rounds, users are presented with their score, summarizing their performance in the quiz. For every correct answer, users receive 50 points plus the remaining round time.## Development Mode
The app is currently in development mode. You can test it using the following credentials:
- **Username**: `[email protected]`
- **Password**: `LetsShuffle123!`### Important Note
Ensure that you **do not share** your Spotify credentials publicly to maintain account security.
## Getting Started Locally
To clone and run the app locally, follow these steps:
1. **Clone the Repository**:
2. **Install Dependencies**:
Make sure you have Node.js installed. Then, run the following command to install all necessary packages:
```bash
npm install
```3. **Run the Application**:
Start the app with the following command:
```bash
node app.js
```4. **Access the App**:
Open your web browser and navigate to `http://localhost:3000`## Dependencies
- **Node.js**
- **Express**
- **EJS**
- **Axios**## License
This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.
## Contributing
Contributions are welcome! Feel free to open issues or submit pull requests to improve the project.
## Acknowledgments
- Thanks to [Spotify Developer](https://developer.spotify.com) for the API access and documentation.