The Setlist Web App is a full-stack web application designed for creating, sharing, and managing setlists. Additionally, it incorporates authentication to ensure secure access for authenticated users only.
-
Home Page
- A welcoming landing page introducing users to the app's features.
-
View Setlists
- List all existing setlists stored in the Firebase Realtime Database.
- View details of individual setlists, including the performance date and song list.
-
Create Setlists
- Create new setlists with a name, performance date, and a collection of songs.
- Update the Firebase Realtime Database with new setlist entries.
-
Edit Setlists
- Edit existing setlists, allowing updates to song details or setlist metadata.
- Provides an
Edit
button on the setlist details page for seamless modifications.
-
Song Details
- View individual song attributes, including:
- Spotify and YouTube links embedded for easy access.
- Downloadable chord files for guitar, piano, and ukulele hosted on Supabase Storage.
- View individual song attributes, including:
-
Protected Routes
- All application routes are protected using Firebase Authentication.
- Only authenticated users can access and interact with the app's features.
- ReactJS: Used for creating dynamic, reusable components and managing application state.
- React Router: For routing and navigation between pages.
- Firebase Realtime Database: Stores and manages JSON-structured data for setlists and songs.
- Supabase Storage: Hosts chord files for different instruments.
- Firebase Authentication: Manages user login and access control.
- Firebase Hosting: Ensures fast and reliable deployment of the web application.
- Node.js
- Clone the repository:
git clone https://github.com/Kshitijpawar/rthm.git
- Navigate to the project directory:
cd pdf-crud-app
- Install dependencies:
npm install
- Configure Firebase credentials in
.env
file. - Run the app:
npm start
- Access the app at
http://localhost:3000
.
Feel free to explore the app and contribute to its development! Contact me for collaborations or feedback.
Author: Kshitij Pawar