Giter Site home page Giter Site logo

shabados / database Goto Github PK

View Code? Open in Web Editor NEW
61.0 61.0 23.0 415.04 MB

A digital representation of Sikh Bani and other Panthic texts with a public logbook of sangat-sourced corrections.

Home Page: https://docs.shabados.com/database

License: GNU General Public License v3.0

JavaScript 96.92% Shell 2.12% Dockerfile 0.96%
bani benchmark docker gurbani gurmukhi punjabi sikh sikhi sikhism

database's Introduction

Presenter

Software for searching, navigating, and presenting the Shabad OS Database

About

Shabad OS Presenter can be used to display bani & gurbani in the home or at the gurdwara. A server model allows multiple devices to act as a display or a controller. The same model enables live captions to be in sync with the projector / presentation device.

For more, please see:

Features

  • Multiple displays and controllers synced together
  • Live broadcast captioning / subtitling
  • Curated design
    • Text legibility/readability
    • Organized UI/UX functionality
  • Keyboard shortcuts
    • Search, History, Bookmarks
    • Jump to line N of shabad
    • Autoselect line based on context/position

Screenshots

Contribute

If you want to help, please get started with the CONTRIBUTING.md doc.

Community

The easiest way to communicate is via GitHub issues. Please search for similar issues regarding your concerns before opening a new issue.

Get organization updates for Shabad OS by following us on Instagram and Twitter. We also invite you to join us on our public chat server hosted on Slack.

Our intention is to signal a safe open-source community. Please help us foster an atmosphere of kindness, cooperation, and understanding. By participating, you agree to abide by the Contributor Covenant.

If you have a concern that doesn't warrant opening a GitHub issue, please reach out to us:

"Thank you!" to all the volunteers who've contributed to Presenter.

database's People

Contributors

bhajansweet avatar bhajneet avatar cingh-jasdeep avatar dependabot-preview[bot] avatar greenkeeper[bot] avatar harjot1singh avatar manpreetbahl avatar saihaj avatar sarabveer avatar sarigpani avatar shabados-bot avatar swissarmykirpan avatar tsingh1699 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

database's Issues

Track changes made to db

It would be great to see the diffs between db changes. This should also allow users, via UI, suggest changes.

Switch to unicode gurmukhi

This has native support in enough devices today. It also allows for copy pasting in more cases. Handy for those that want to share a shabad through text.

  • Fix search from US keyboard to unicode hotkeys in core
  • Find suitable font in core

Fix ?'s in Gurmukhi

There are a lot of lines (primarily from Sri Dasam Granth) with ?'s in the text. In some places, it should be an adhak, in others a vavva below the letter.

Correct typo in line

Current:
sÍsiq ibvsQw hir kI syvw; mDM´q pRB jwpx ]

Correct:
sÍsiq ibvsQw hir kI syvw; mD´Mq pRB jwpx ]

Wrong author of shabad (jo nar dukh mai dukh nehee manai)

jo nru duK mY duKu nhI mwnY ]
jo nar dhukh mai dhukh nehee maanai ||

This shabad on ang 633 is showing that the author is Bhagat Bhikhan Ji. This shabad is written by M9.

Source - the title of the shabad says sorath mehalaa 9

Correct Shabad writer_ids

If I remember correctly, many shabads are marked M1 when they shouldn't be, and some shabads have writer_id 9 instead of M9 (id 6) or vice versa. Additionally, some shabads/saloks in vaars are incorrect. Will have to go through all shabads carefully to correct these.

Unnecessary FIRST_LETTER column

It seems the values for this column can be generated, maybe as a view.

Doing this would save a lot of space, and make the database less prone to human error.

Using a generated view would also allow for the FIRST_LETTER generations to be corrected and updated with ease, without affecting how any applications use the database currently.

WYU8 - Saral Steek

Key Value
ID WYU8
Shabad OS qw ky, kwl inkit nih AYhY ]
Saral Steek AYhYAY hY

Photo of Saral Steek page 228:
20181209_084001

Consistent storage of Punjabi

The database contains the unicode representation of punjabi in the SHABAD:PUNJABI column, yet the SHABAD:GURMUKHI column and others contain the ASCII representation used by the Akhar font.

I think this should be all converted into the unicode format; it also makes troubleshooting a bit easier.

Write tests

Write some default tests using the JS API so that we don’t miss it when content/IDs change

Switch to Travis

More OSS friendly, plus will use for Mac OS X builds in electron wrapper

Add banis

No banis are in the new DB. Add them by tagging the lines in the JSON with the start and end positions.

Add withTranslations method

Add a withTranslations() chainable method to the API that can take an object specifying which translations & languages are desired.

Need something like this with the advent of #53.

Rename writers, sources, raags, line types

The corresponding json files can be changed, and everything should be regenerated with the new file names. The old folders in shabads and sources may need to be removed, since they're generated based on the names of writers and sources

Normalise database

Tables like bani_adv, bani_anand all have the same schemas. These can be changed into two tables, one which has the bani-name mappings, and another with the baniNameID->repeated schema mappings.

This will result in a cleaner and more extensible database.

Additionally, I noticed that the GURMUKHI and SHABAD tables have the same schemas. On an initial glance, both have the same number of rows, and so I presume, a lot of repeated data. This repetition in particular doubles the size of your database, by almost 2, and will impact user download time. Can this be normalised?

Is there also description of the schema fields available anywhere?

Inconsistent Unicode Fonts

Not sure if this should be an "issue," but we should be careful with the unicode font we decide to use as some accent marks are displayed differently in different fonts. For example, on GuruGranthDarpan.net, the font they use requires them to write "ਕਲ੍ਯ੍ਯ" where other fonts would simply write it "ਕਲ੍ਯ" (http://www.gurugranthdarpan.net/1392.html).

Implement Line Types

Line Types

  • mangal or manglacharan
  • sirlekh
  • rahao
  • pankti or line

Checks:

mangal: Check for <> in Gurmukhi

rahao: check for ] rhwau ] and ] rhwau dUjw ]

sirlekh: This is the most complex out of the bunch, will need to figure out how to differ from pankti

line: Everything else

† Rahao majority of the time contains more than 1 line, check could be implemented to check the previous line before the rahao line if it has a number in the end (ex. ]1]) or not.

RWCX - Saral Steek

Key Value
ID RWCX
Shabad OS sRI piq sRI Bgvwn Bjy ibnu; AMq kau, AMq ky Dwm isDwry ]3]23]
Saral Steek AMq kyAMqky

Photo of Saral Steek page 204:
20181209_083325

Remove SnakeCase conversion?

Currently all snake_case fields in DB are outputted as camelCase when using the API.

Unsure if this is confusing. @bhajneet @sarabveer, any input?

Either remove, or improve consistency by using knex mapper instead.

Different versions of Baanis from School of Thought

Different groups of people read differing compilations of rehraas. We can:

  • Include popular versions with labels (Such as Rehat Maryada, Extended Banis, Extended Chaupai & Anand Sahib)
  • Include ability in desktop to create custom banis. Possibly extend to a "banis store" online where people can download popular compilations
  • Include a setting to set all banis according to a specific School of Thought. (Personally against this approach as there are more customizable options above without hindering efficiency).

Publish to npm

The database should be published to npm on CircleCI build. This means that the dependency management and updating can be outsourced to npm, rather than relying on downloading from github. We should also do this for the frontend and backend.

Typo in writers for some shabads

Some shabads have multiple writers accidentally. See SHABAD_ID 54 as an example. This should be corrected to the writer that the rest of the shabad uses.

Implement fuzzy search

Add as an option (Default: on) to core. If the entire issue can be fixed on the frontend then move this issue to core.

Examples:

  • If someone searches Sat Naam it should show results for Satnaam
  • If someone searches Vismaad it should show results for Bismaad
  • If someone searches K vs ^ (khakka pair bindi) for Khalsa, show both

There are plenty of examples, Oorha vs Open Oorha. But it should not affect every single search. Searching Satnaam with S would show Sat Naam results, but not every result with S followed by N.

Shabad 4WQ - Gurbani Dian Laga Matra Di Vilakhanta

Key Value
ShabadID 4WQ
Shabad OS iq nr duK nh BuK; iq nr inDn, nhu khIAih ]
iq nr soku, nhu huAY; iq nr sy AMqu, n lhIAih ]
iq nr syv. nhu krih; iq nr. sX shs smpih ]
iq nr dulIcY bhih; iq nr auQip ibQpih ]
suK lhih. iq nr sMswr mih; ABY ptu, irp miD iqh ]
skXQ iq nr. jwlpu BxY; gur Amrdwsu supRsMnu ijh ]2]11]
Gurbani Dian Laga Matra Di Vilakhanta iq nriqnr

Gurbani Dian Laga Matra Di Vilakhanta (3rd Edition, November 2003)
Page 343

Page 344

Page 345

Reduce file size

Currently there is at least a duplicate amount of data in the db. The further we reduce it the faster the installer can be downloaded as well as faster downloads to db updates in the future.

Include `॥` in `first_letters`

Searches leak over to next line when using the LIKE operator, so should probably include when generating first_letters.

Running SELECT * FROM lines WHERE first_letters LIKE 'ਸਕਨਨਅ' will return ਅਰਜਨ ਸਿੰਘ ਅਰੁ ਅਮਿਟ ਸਿੰਘ ਕ੍ਰਿਸ਼ਨ ਨਿਹਾਰਓ ਨੈਨ ॥ ਅਾਠ ਭੂਪ ਮਿਲਿ ਪਰਸਪਰ ਬੋਲਤ ਅੈਸੇ ਬੈਨ ॥੧੧੮੩॥.

DTH6 - Saral Steek

Key Value
ID DTH6
Shabad OS koit iesnwn gjwidk dwn; Anyk suAMbr swij, brYNgy ]
Saral Steek iesnwnsnwn

Photo of Saral Steek:
20181202_080401

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.