Giter Club home page Giter Club logo

bible-ios's Introduction

This repository contains most of the source code (some assets cannot be redistributed due to copyright reasons) for the App Store distributed Raamattu+ app for iOS. It is a simple bible reader primarily designed for reading the Finnish Bible, but, there is nothing preventing to use the app for other languages (currently we ship the NET translation besides the Finnish translation).

The following features have been implemented:

  • Support for the iPhone/iPad UI idioms
  • Localization. New localizations can be added with the standard Apple conventions.
  • The bible translation can be chosen by the user when running the app
  • The user can zoom the bible text with the pinch gesture
  • Support for sharing the bible in social media (Facebook, Twitter, Weibo)
  • Bible chapters and verses can be printed
  • Full-text search from the bible
  • History of the bible chapters read
  • Ability to add and edit notes. Notes can be attached to bible verses
  • Night mode for bible reading

The code can and the provided graphics assets can be freely used within the BSD license (see the file LICENSE for more detail) but please note that the provided app icon cannot be used as is for App Store releases.

The bible translations are SQLite FTS (Full Text Search) indexed databases. To add a new bible translation, create a new SQLite FTS database with the following database structure:

CREATE TABLE book(book_num UNSIGNED INTEGER NOT NULL,
                  title VARCHAR(255) NOT NULL,
                  short_title VARCHAR(64) NOT NULL,
                  chapter_count UNSIGNED INTEGER NOT NULL,
                  PRIMARY KEY(book_num));

CREATE VIRTUAL TABLE verse using FTS3 (book_num UNSIGNED INTEGER NOT NULL,
                                       chapter_num UNSIGNED INTEGER NOT NULL,
                                       verse_num UNSIGNED INTEGER NOT NULL,
                                       content TEXT NOT NULL,
                                       PRIMARY KEY(book_num, chapter_num, verse_num));

Register your database in MAConstants.h by creating a new translation identifier. Modify MABookService.m (setTranslation and translationNameByIdentifier) to register the name of your database.

The source code is provided in hopes that it could be helpful for implementing a similar application. For questions, unfortunately I don't have time for private email support, so usually the best way to get help is to interact with Github issues.

bible-ios's People

Contributors

muhku avatar

Stargazers

 avatar  avatar  avatar Nathanaël avatar Wayne Dahlberg avatar r567tw avatar  avatar  avatar Michael J. Griffin, Jr. avatar OneSecure avatar windgo avatar  avatar Charles Soetan avatar Jaden J avatar thxou avatar PaulZeng avatar Jonathan Tien avatar

Watchers

Ben avatar  avatar Jaden J avatar  avatar  avatar  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.