Coder Social home page Coder Social logo

quranwbw-v4's Introduction



bugs suggestions

About

QuranWBW.com helps you read, listen and learn the Holy Quran word by word with the help of word audios, Tajweed colors and transliteration. You can also research using multi-language translations, tafsir, and dive deep with word morphology.

Stack

This version of QuranWBW is built with SvelteKit.

Contribution

You are free to add/suggest features, report bugs, or just use the website in general.

quranwbw-v4's People

Contributors

marwan avatar dependabot[bot] avatar

Stargazers

abdirahman avatar Rayane Staszewski avatar Ahmed Mohamed avatar  avatar Faisal Ayub avatar  avatar  avatar Niskala Airaha avatar Marwan Aouida avatar eBlessings avatar

Watchers

 avatar

quranwbw-v4's Issues

Task list for V4 release

Following is the task list/todo for the next major release. No new features are planned apart from the ones already added. Main priority will be to implement features from the current live website.

  • work on verses range repeat
  • #57
  • update credits and add new ones
  • enable service worker
  • update the Tajweed font end icons color for other themes and add black version
  • #58
  • add meta data to pages, robot.txt, PWA, favicon
  • add bottom nav/audio bar
  • implement a feature to auto-import bookmarks from the existing site to this new version
  • update all division points (#25)
  • add all the available WBW languages in meta
  • add relevant fonts for translations (Urdu, Bangla, etc...)
  • implement Tailwind CSS via NPM rather than CDN
  • migrate from Flowbite to Flowbite-Svelte

Smart Continue where you left feature

Suppose user is reading surah baqarah ayah 170. And he press back to go to homepage. And he visits surah yaseen or 2-3 other surahs, etc.. And then again returns to surah baqarah, then there should be a reminder pop up that (Do you want to continue where u left?)

If user taps, yes continue. Then surah baqarah ayah 170 should be brought.

This is very advanced but intelligent and useful feature. (we can keep last read data upto 5 historical records inside user data for this and recollect from that).. Also if user had completely read the Surah, then delete that record from the last read history records and don't ask the user if he wants to continue.

add credits for Tajweed fonts

Tajweed fonts were created using Easy Quran - Dar Al Marifa Tajweed Mushaf and King Fahad Glorious Quran Printing Complex (KFGQPC) - Uthmanic Hafs V4 Fonts after receiving permission from both by our brothers at Quran.com.

Intelligent auto-scroll function.

Another important change with regard to auto scroll function is, instead of scrolling at a constant speed, make this intelligent auto scroll function.

Is it possible to calculate the words on screen and scroll at a rate of words.

This can be achieved by reciter audio time stamp data.

Currently we have audio play only till 2x.

Utilize this same data and make it 3x 4x 5x but assign it to auto scroll.

Now, when the auto scroll is scrolling it scrolls according to the length of the ayah.

Example... Surah Waqiyah few ayah are very small but few ayah are medium. So small ayah portion scrolls fast compared to average ayah portion. This will increase user experience very nicely.

Even we can have options in 3 dots menu. (auto scroll from here, just like advance Play)

update userSettings to just include single JSON object

const settings = {
	displaySettings: {
		websiteTheme: 1,
		displayType: 1,
		wordType: 1,
		wordTranslationEnabled: true,
		wordTransliterationEnabled: true,
		fontSizes: {
			arabicText: 'text-4xl',
			wordTranslationText: 'text-sm',
			verseTranslationText: 'text-sm'
		}
	},
	translations: {
		word: 1,
		verse: [1, 15]
	},
	audioSettings: {
		reciter: 10,
		playbackSpeed: 3
	},
	lastRead: '1:1',
	userBookmarks: [],
	initialSetupCompleted: false
};

Bookmarks notification

Suppose, user has marked a bookmark or bookmarks on a surah.

This can be one or more than one.

So, when the user visits that surah, then recommend him/her (with an 5secs auto disappearing notification at the top) , You have saved bookmarks on this Surah, do you want to navigate? = so if user taps yes, then display the bookmarks or navigate to the last bookmark in that surah.

This is notification like we get for sms. Fly-in from top for 5 secs and it can be slide to left to ignore.

Migrate to Sveltekit

benefits:

  • much better performance as compared to just Svelte
  • server-side rendering
  • custom error pages
  • built-in routing / file-based routing
  • built-in service worker
    ...and more!

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.