Skip to content

Commit

Permalink
Merge pull request #65 from schulzi66/feat/archive-songs
Browse files Browse the repository at this point in the history
Feat/archive songs
  • Loading branch information
schulzi66 authored Dec 27, 2022
2 parents 6023ede + 50f68c4 commit ec8b8a0
Show file tree
Hide file tree
Showing 143 changed files with 32,575 additions and 32,630 deletions.
8 changes: 8 additions & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Ignore artifacts:
build
coverage
dist
node_modules
.firebase
.angular
*.html
16 changes: 16 additions & 0 deletions .prettierrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"printWidth": 140,
"tabWidth": 4,
"singleQuote": true,
"trailingComma": "all",
"useTabs": false,
"semi": true,
"quoteProps": "preserve",
"bracketSpacing": true,
"arrowParens": "avoid",
"requirePragma": false,
"insertPragma": false,
"proseWrap": "preserve",
"endOfLine": "lf",
"htmlWhitespaceSensitivity": "ignore"
}
45 changes: 23 additions & 22 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,20 @@
## 🎼 Book of Chords 📚
Small mobile-optimized progressive web app to add and quickly edit chords/lyrics for songs so that you have them always in your pocket and not on paper.

Small mobile-optimized progressive web app to add and quickly edit chords/lyrics for songs so that you have them always in your pocket and not on paper.

Check it out: 👉 https://book-of-chords.web.app

## Feature Overview

🎵 Have all your chords and lyrics in one place

🎸 Be always ready to perform on stage by creating setlists

🎤 Manage your band and gigs
🎤 Manage your band and gigs

⏲ Integrated metronome for each song

🌒 Dark mode
🌒 Dark mode

🎯 Native notifications when there is a new gig for your band created

Expand All @@ -28,22 +30,21 @@ Check it out: 👉 https://book-of-chords.web.app

### Detailed Feature overview

- Login/Logout using your Google account
- Create/delete/modify Songs, add different sections with chords
- Search for Songs by name
- Metronome: Set the BPM for each song and have an integrated metronome
- Upload pictures or PDF files to songs from your filesystem or directly from the camera. (Opt. on pc: drag and drop multiple files at the same time)
- Integrated PDF reader to access the pdf files you uploaded for the song
- Create Gigs, select from all your songs or filter by name
- Delete gigs
- Reorder the songs for your gig
- See and modify the chords and pictures from each song in your gig
- Play Mode for Gigs: See your chords or lyrics and metronome all at once, without toggling the songs to open
- Configure the font size and family for your chords for the best view on stage
- Install the PWA to have a native app experience
- Create or join a band
- Manage the band profile, members and more
- Upload setlists and share them with your band members
- Native notifications with FCM across multiple devices
- Automapping of your songs and chords to the songs of a setlist

- Login/Logout using your Google account
- Create/delete/modify Songs, add different sections with chords
- Search for Songs by name
- Metronome: Set the BPM for each song and have an integrated metronome
- Upload pictures or PDF files to songs from your filesystem or directly from the camera. (Opt. on pc: drag and drop multiple files at the same time)
- Integrated PDF reader to access the pdf files you uploaded for the song
- Create Gigs, select from all your songs or filter by name
- Delete gigs
- Reorder the songs for your gig
- See and modify the chords and pictures from each song in your gig
- Play Mode for Gigs: See your chords or lyrics and metronome all at once, without toggling the songs to open
- Configure the font size and family for your chords for the best view on stage
- Install the PWA to have a native app experience
- Create or join a band
- Manage the band profile, members and more
- Upload setlists and share them with your band members
- Native notifications with FCM across multiple devices
- Automapping of your songs and chords to the songs of a setlist
24 changes: 8 additions & 16 deletions angular.json
Original file line number Diff line number Diff line change
Expand Up @@ -28,14 +28,12 @@
"src/manifest.webmanifest",
"src/firebase-messaging-sw.js",
{
"glob": "**/*",
"input": "node_modules/ng2-pdfjs-viewer/pdfjs",
"output": "/assets/pdfjs"
"glob": "**/*",
"input": "node_modules/ng2-pdfjs-viewer/pdfjs",
"output": "/assets/pdfjs"
}
],
"styles": [
"src/styles/styles.scss"
],
"styles": ["src/styles/styles.scss"],
"scripts": [],
"aot": true,
"vendorChunk": true,
Expand Down Expand Up @@ -91,22 +89,16 @@
"polyfills": "src/polyfills.ts",
"tsConfig": "src/tsconfig.spec.json",
"karmaConfig": "src/karma.conf.js",
"styles": [
"src/styles/styles.scss"
],
"styles": ["src/styles/styles.scss"],
"scripts": [],
"assets": [
"src/favicon.ico",
"src/assets",
"src/manifest.webmanifest"
],
"assets": ["src/favicon.ico", "src/assets", "src/manifest.webmanifest"],
"webWorkerTsConfig": "tsconfig.worker.json"
}
}
}
}
},
"cli": {
"analytics": false
"analytics": false
}
}
}
95 changes: 44 additions & 51 deletions firebase.json
Original file line number Diff line number Diff line change
@@ -1,55 +1,48 @@
{
"firestore": {
"rules": "firestore.rules",
"indexes": "firestore.indexes.json"
},
"hosting": {
"public": "dist/base",
"headers": [
{
"source": "**/*.@(eot|otf|ttf|ttc|woff|font.css)",
"firestore": {
"rules": "firestore.rules",
"indexes": "firestore.indexes.json"
},
"hosting": {
"public": "dist/base",
"headers": [
{
"key": "Access-Control-Allow-Origin",
"value": "*"
}
{
"source": "**/*.@(eot|otf|ttf|ttc|woff|font.css)",
"headers": [
{
"key": "Access-Control-Allow-Origin",
"value": "*"
}
]
},
{
"source": "**/*.@(js|css)",
"headers": [
{
"key": "Cache-Control",
"value": "max-age=31536000"
}
]
},
{
"source": "**/*.@(jpg|jpeg|gif|png)",
"headers": [
{
"key": "Cache-Control",
"value": "max-age=31536000"
}
]
}
],
"ignore": ["firebase.json", "**/.*", "**/node_modules/**"],
"rewrites": [
{
"source": "**",
"destination": "/index.html"
}
]
},
{
"source": "**/*.@(js|css)",
"headers": [
{
"key": "Cache-Control",
"value": "max-age=31536000"
}
]
},
{
"source": "**/*.@(jpg|jpeg|gif|png)",
"headers": [
{
"key": "Cache-Control",
"value": "max-age=31536000"
}
]
}
],
"ignore": [
"firebase.json",
"**/.*",
"**/node_modules/**"
],
"rewrites": [
{
"source": "**",
"destination": "/index.html"
}
]
},
"functions": {
"predeploy": [
"npm --prefix \"$RESOURCE_DIR\" run lint",
"npm --prefix \"$RESOURCE_DIR\" run build"
]
}
},
"functions": {
"predeploy": ["npm --prefix \"$RESOURCE_DIR\" run lint", "npm --prefix \"$RESOURCE_DIR\" run build"]
}
}
30 changes: 15 additions & 15 deletions firestore.indexes.json
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
{
"indexes": [
{
"collectionGroup": "songs",
"queryScope": "COLLECTION",
"fields": [
{
"fieldPath": "uid",
"order": "ASCENDING"
},
{
"fieldPath": "name",
"order": "ASCENDING"
}
]
}
{
"collectionGroup": "songs",
"queryScope": "COLLECTION",
"fields": [
{
"fieldPath": "uid",
"order": "ASCENDING"
},
{
"fieldPath": "name",
"order": "ASCENDING"
}
]
}
],
"fieldOverrides": []
}
}
Loading

0 comments on commit ec8b8a0

Please sign in to comment.