Coder Social home page Coder Social logo

digihymnal's Introduction

digiHymnal

Framework7 CLI Options

Framework7 app created with following options:

{
  "cwd": "",
  "type": [
    "pwa"
  ],
  "name": "digiHymnal",
  "framework": "core",
  "template": "single-view",
  "bundler": "webpack",
  "cssPreProcessor": false,
  "theming": {
    "customColor": true,
    "color": "#ff5d00",
    "darkTheme": true,
    "iconFonts": false,
    "fillBars": false
  },
  "customBuild": false,
  "webpack": {
    "developmentSourceMap": true,
    "productionSourceMap": true,
    "hashAssets": false,
    "preserveAssetsPaths": false,
    "inlineAssets": true
  }
}

Development

Install webpack npm install -g webpack

git clone [email protected]:owner/digihymnal.git digihymnal
cd digihymnal
npm install
npm run dev

NPM Scripts

  • ๐Ÿ”ฅ start - run development server
  • ๐Ÿ”ง dev - run development server
  • ๐Ÿ”ง build-dev - build web app using development mode (faster build without minification and optimization)
  • ๐Ÿ”ง build-prod - build web app for production

WebPack

There is a webpack bundler setup. It compiles and bundles all "front-end" resources. You should work only with files located in /src folder. Webpack config located in build/webpack.config.js.

Webpack has specific way of handling static assets (CSS files, images, audios). You can learn more about correct way of doing things on official webpack documentation.

PWA

This is a PWA. Don't forget to check what is inside of your service-worker.js. It is also recommended that you disable service worker (or enable "Update on reload") in browser dev tools during development.

Assets

Assets (icons, splash screens) source images located in assets-src folder. To generate your own icons and splash screen images, you will need to replace all assets in this directory with your own images (pay attention to image size and format), and run the following command in the project directory:

framework7 assets

Or launch UI where you will be able to change icons and splash screens:

framework7 assets --ui

Documentation & Resources

Support Framework7

Love Framework7? Support project by donating or pledging on patreon: https://patreon.com/vladimirkharlampidi

digihymnal's People

Contributors

achoobert avatar jamesduncan avatar nh758 avatar wongpratan avatar

Stargazers

Jaya avatar Carl Hempel avatar  avatar

Watchers

 avatar  avatar James Cloos avatar Sam avatar Carl Hempel avatar  avatar

Forkers

achoobert

digihymnal's Issues

option to hide chords

There are long gaps between the lyric sentences, even when not selecting chords or notation. Is it possible to bring it together?

Song page cleanup

a. verses are not laid out cleanly
b. where to put the 'edit line' button/link? for each line
c. is there a better place to put the "Edit Song?" (top right orange button)

image

Add UI Translations

The user interface currently has 2 languages. Need to add translation for other languages.

    "Digital Hymnal": "Digital Hymnal",
    "Search": "Search",
    "Cancel": "Cancel",
    "Choose a language": "Choose a language",
    "Back": "Back",
    "Key": "Key",
    "Chords": "Chords",
    "Number Notation": "Number Notation",
    "Intro Verse": "Intro Verse",
    "Main Chorus": "Main Chorus",
    "Chorus": "Chorus"

Where to put "add new song"

Right now we have to scroll to the far bottom of the app to create a new song.
It should be in a side pane? or menu
image

There should also be an option for uploading a text file in the same area (functionality to be added later)

Prettyify Edit Song Metadata

a. song titles (and all the translations thereof) should be in a box so they're visually separate from the single-language things
b. verse labels might also need to be seperate???
c. where to put that save button?
d. we need a language list

e. clean up the add languge button
image

Double column view

If the screen is wide enough, show two columns worth of verses.
image

If it is not, maybe allow swiping to the side to show another verse.
As scrolling is simply not workable for someone playing an instrument

Support number notation

Update old view

  • remove numbers from chord view
  • adjust parser
  • Create new Dedicated view
    • Save
    • add new number
    • delete last
    • edit text (???)
    • Upload new note string
    • Edit a single note's string
  • Upload a string of characters, parse them into number notation

We store

  • Characters
    String.fromCharCode(173)
    'ยญ'

Hidden processes

  • De-parse Chords
  • Re parse CHORDs
  • De-parse Numbers
  • Re parse Numbers

Language list?

There should be a list of valid languages on the server

  • A song can have a valid language added to it
  • We can add language options on the server

Improve number notation display

We currently use Unicode symbols for the number notation as a proof of concept. Use the Notes truetype font as it should be able to display the number notation correctly.

Also if possible support changing 1-8 in the notation, with d r m f s l t d as this is used in some minority languages.

Import text lyrics

Add a interface to import lyrics from a text file. Allow users to split the phrases into verses and chorus.

Worship leader Create song list

Allow a user(?) to create a list of songs
And those songs offer the option to
Arrange the verses from each in order
Then
That list can be shared via a link/qr code

OnSong Import Multiple Languages

Modify OnSong import script to load multiple languages of the same song. Discussed using directories to group the OnSong projects by song. Need to rename files to include a tag so we can can determine language.

PowerPoint view

User, when using a leader's created list
Has a view that allows
One-click advancing a "slide"

This slide can increase/decrease the zoom.

The user can jump to 'chorus', next verse, or previous verse easily (hot key?) or buttons at bottom of screen

This view will never need chords

Allow musicians to create a set list

Musicians can create an order list of songs in preparation for an event. For each song they can adjust the verse/chorus order. Allow a set list to be shared.

Delete line

This process is 'in place' but it needs

  • A confirmation prompt
  • TESTING

Add a song editor

The song editor, used for adding new songs, adding new translations, fixing/adding chords and notation.

WYSIWYG - Drag and drop chords, adjust position relative to lyrics.

  • Can select a line
  • Can edit all elements of that line
  • Can navigate to other lines
  • Save button
  • Button triggers a save to local storage
  • Local storage sends to server...
  • Drag and drop chords
  • add translations

songIds are not checked very well

I am relying on having all songs on the client, so that when they insert a new one it can check if that ID is claimed already.

This system should be more robust

Exporting songs

Allow songs to be exported, as ppt or pdf. Can choose language, chords, etc.

Edit Song options

Move features to song view so user sees their changes immedinatly

  • Add verse
  • Split verse
  • Add line
  • Delete line
  • Delete Verse

image

This feature could really use a global variable for the currently selected song.
Would allow user to switch between editing chords and editing the song itself

  • gloabal variable
    • song
    • isDirty 'saveable'
  • update gloval variable when song first opened
  • on back, check if song has been changed, Confirm save or discard changes
  • Show save button when user makes change, hide after save done

Clean up UI

  • Why are popups not working?
  • Text floats up
  • Arrange edit buttons better?
  • Float chords?
  • make text edit option more obvious
  • Make edit popup nicer

Popup are not working
#42

Text floats up
image

Arrange edit buttons better?
Perhaps in a square before the line?
image

float chords
Chords are overlapping eachother when they are too close
image
In this case especially, they should float out into empty space after the line
image

Make text edit option more obvious
Each of these is a link to open a text editing popup
image

Edit popup
This could be much nicer. It is on both song-view and line-edit
image

Add Line

Add line at end of song
Add line at end of verse

Add line in middle of verse?

navigate via pages rather than scrolling

https://github.com/Nodlik/StPageFlip

Need to group things together under "my-page" divs

How many things gets grouped will depend on screen size
AND on user's zoom level

Should it be a user-determined list?
"Verses per page [ - ] [ + ] "


<div id="book">
    <div class="my-page" data-density="hard">
        Page Cover
    </div>
    <div class="my-page">
        Page one
    </div>
    <div class="my-page">
        Page two
    </div>
    <div class="my-page">
        Page three
    </div>
    <div class="my-page">
        Page four
    </div>
    <div class="my-page" data-density="hard">
        Last page
    </div>
</div>

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.