GithubHelp home page GithubHelp logo

suhaibaffan / aquran Goto Github PK

View Code? Open in Web Editor NEW

This project forked from forabi/aquran

0.0 2.0 0.0 90.07 MB

A mobile-optimized, cross-platform Quran app built with web technologies.

Home Page: http://forabi.github.io/aQuran

CoffeeScript 26.13% JavaScript 0.02% HTML 70.35% Shell 0.28% Python 1.16% CSS 2.07%

aquran's Introduction

#مشروع تطبيق للقرآن الكريم للهواتف الذكية مبني بلغات الويب

##لماذا؟ جربت عدة تطبيقات للقرآن الكريم على نظام أندرويد، ولم تكن النتائج تعجبني دوماً، لعل أفضلها كان Quran Android لكن مشكلته كانت في كونه يعرض صورًا للصفحات من مصحف المدينة بدلاً من النصوص، الأمر الذي يجعلها صعبة القراءة على الشاشات الصغيرة وفي وضع الشاشة الشاقولي (portrait) وكذلك فإن الصور تجعل عرض الترجمة مرافقاً للأية غير ممكن، بل يجب النقر مطولاً على كل آية للاطلاع على تفسيرها أو ترجمتها، بعض التطبيقات الأخرى لا توفر ميزة البحث، وبعضها لا يراعي قابلية الاستخدام. قررت البدء بتصميم التطبيق في البداية ليكون تطبيق Chrome يعمل بلا اتصال وبدأت ببناءه بالاعتماد على إطار العمل Bootstrap 3، ثم أدركت أن من الأفضل بناءه على أنه تطبيق للهواتف أولاً (mobile first) ثم الانتقال إلى سطح المكتب إن كان الأمر ممكناً. لذا قمت بالانتقال إلى إطار العمل ionic (وهو حديث نسبياً) أولاً لكونه موجهاً للهواتف الذكية، وثانياً لأنه مبنيّ على إطار عمل Angular JS الذي أعشقه وأعتقد أن خبرتي به لا بأس بها.

##ما الذي يقدمه التطبيق؟ التطبيق حالياً يوفر المميزات التالية:

  • عرض النص القرآن مع تلوين الحركات وعلامات الوقف بلونين مختلفين لتسهيل القراءة
  • دعم كل الترجمات التي يقدمها مشروع ذكر
  • دعم كل التلاوات التي يقدمها مشروع EveryAyah
  • البحث باستخدام الواجهة البرمجية لمشروع الفانوس
  • البحث بلا اتصال عند غياب الاتصال بالإنترنت، والمعتمد على التعابير النظامية (Regular Expressions) الذي يوفر إمكانية تجاهل الأخطاء في الهمزات والحركات

##الجوانب التقنية المشروع مبني على إطار العمل Ionic الذي يستخدم Angular JS، النصوص البرمجية مكتوبة بلغة CoffeeScript وملفات العرض مكتوبة بلغة Jade، ملفات التنسيق مكتوبة بلغة Sass. بالنسبة لنمط التصميم (Design Pattern) فهو بالطبع MVC، وملفات .coffee منسقة ضمن مجلدات وكل منها مسؤول عن خدمة أو متحكم... بما يسهل تطوير وتعديل الوحدات بشكل منفصل.

##ما الأنظمة التي سيستهدفها المشروع؟ بما أن المشروع مبني بلغات الويب وإطار عمل يستهدف الهواتف الذكية، فإنه سيكون متوفراً بقدر ضئيل من التعديلات على عدة أنظمة ذكية على رأسها Android وiOS وFirefox OS. سأضيف إعدادات منصة Cordova لبناء التطبيقات وسيتم الانتقال إليها على عدة مراحل، بالنتيجة سيتوفر التطبيق المنصات السابقة عند انتهاء الانتقال إلى Cordova.

##صور للتطبيق حالياً هكذا يبدو التطبيق: (إن تعذر عرض الصور أدناه فشاهدها هنا)

الصفحة الرئيسية البحث باستخدام الواجهة البرمجية لمشروع الفانوس البحث بلا اتصال صفحة التفضيلات صفحة البحث نتائج البحث عرض آية مفردة مع ترجمتها (إمكانية اختيار أكثر من ترجمة) الترجمات المتوفرة عرض أية مفردة مع ترجمتها (إمكانية اختيار اكثر من ترجمة) نتائج البحث تلاوة الصفحة

##تجربة المشروع والمساهمة في التطوير

  • إن كنت تجيد التعامل مع مشاريع الويب فانسخ المشروع إلى جهازك وابنه باستخدام الأوامر التالية:

    1. تأكد من تثبيت node وnpm على جهازك
    2. استنسخ المشروع إلى جهازك git clone https://github.com/forabi/aQuran.git
    3. انتقل إلى مجلد المشروع cd aQuran
    4. ثبت متطلبات المشروع npm install
    5. ثبت متطلبات Bower بالأمر bower install
    6. ابن المشروع gulp build (أضف --firefox أو --chrome لبناء التطبيق لمنصة Firefox OS أو كتطبيق Chrome على الترتيب)
    7. ابدأ المشروع على الخادم المحلي gulp serve
    8. افتح localhost:7000 لبدء التطبيق. أنصح باستخدام Firefox وفي منظور التصميم المستجيب (Responsive Design View) لأن Chrome لا يعرض الكلمات العربية المشكلة بصورة صحيحة في نسخه الأخيرة.
  • هل بإمكانك الترجمة أو التوثيق؟ أنشئ فرعاً عن المشروع على GitHub وأجر تعديلاتك ثم ادفعها إليّ!

aquran's People

Contributors

forabi avatar louy avatar

Watchers

 avatar  avatar

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.