songdrive
v2.1.1
Published
A song management tool to store, synchronize and present songs and setlists. Built with Vue.js and Firebase.
Downloads
33
Maintainers
Readme
A song management web application to store, sync and present songs and setlists, based on Vue.js, Firebase and Spectre.css. Head over to the docs (EN, DE) for more information about SongDrive and how to get started.
Preview
This is how the SongDrive Dashboard currently looks like.
A demo page is planned.
Features
- Create, edit and delete songs
- Normal and viewport optimized fullscreen view for a single song
- Switch song languages
- Filter songs and setlists on typing, by tags and by key
- Transpose song key
- Create, edit and delete setlists
- Rearrange songs in setlists with simple drag and drop
- Presentation mode for setlists with device synchronization
- PDF export for songs, setlists and songsheets
- Plain text, SNG and Slack formatted export for songs and setlists
- Hotkey support
- General statistics, setlist and user specific stats
- UI supports multiple languages (currently: EN, DE)
- Export and Import of complete SongDrive data
Installation for developers
Get all files from repository
git clone https://github.com/devmount/SongDrive
Install all dependencies using Yarn
cd SongDrive yarn
Create an environment configuration file
.env
from the existing example configuration in the root directory:cp .env.example .env
Log in to your Firebase account, hit the "Add a project" button and set up a project name and a server location
Now you can add an app by clicking the "Web" button, choose a nickname and click "Next"
Copy API key and project ID into your
.env
fileGo back to your Firebase console, and click Create Database under Develop > Database. Choose Start in production mode and paste the security rules that you can copy frome the firestore.rules file.
Create the first user in the Firebase console under Build > Authentification > Add user. After that you'll see the User UID in the table. Copy that UID, navigate to Build > Firestore Database > + Start collection. Input users as Collection ID and click Next. Insert the copied UID as Document ID and add the following fields to the document:
email
= string | your email addressname
= string | your name
To give necessary permisstions, click + Start collection again. Input permissions as Collection ID and click Next. Insert the copied UID as Document ID and add the following field to the document:
role
= string |admin
Now your app is ready to be launched. Either start the development server with hot reload at
localhost:8080
...yarn serve
... or create an optimized production build with minification. All build files can be found in the
dist
directory.yarn build
(optional) You can import demo content if you don't like to start from scratch. First download the demo data file from the repository. Sign in to SongDrive with your admin user, go to Settings > Import, select the downloaded demo file and import it. You can now have a look at 8 public domain songs, one demo setlist, several song tags, English and German languages and an additional test user.
License
This project is licensed under the MIT License.
SongDrive is completely free to use. If it's useful for you and you enjoy it, please consider contributing or donating via Paypal to support further development. 💚