Skip to content

Module Bible

Rodolfo Goulart edited this page Dec 31, 2023 · 25 revisions

The Bible Module Schema

class BibleVersion {
  int id;
  String? language;
  String versionName;
  String versionAbrev;
  String? copyright;
  bool? hasStrong;
}

Table BibleVersion

Column Type Required Description Default Value
id int yes
language String no if not informed, deafalt = "pr-br" pt-br
versionName String yes Version name of the bible
versionAbrev String yes Version abreviation
copyright String no copyright informed of the bible
hasStrong bool no inform if this version has Strong Reference associated false

Table BibleVersionBooks

class BibleVersionBooks {
  int? id;
  int idBook;
  int idBibleVersion;
  int? sequence;
  int? numberChapters;
  String? nameTranslation;
  String? abrevTranslation;
}
Column Type Required Description Default Value
id int yes
idBook int yes Id related to Book
idBibleVersion int yes Id related to the Table BibleVersion
sequence int no sequence of the book, to order when show the books of this version
numberChapters int no number of chapter that the book contain
nameTranslation String no Name used on translation, if not set, will be used the name on the table book
abrevTranslation String no Abreviation of the book, if not set, will be used the abreviation on the table book

Table Book

class Book {
  int id;
  //overwrite on [BibleVersionBooks]
  String name;
  //overwrite on [BibleVersionBooks]
  String abrev;
  Division division;
  String literaryGenre;
  String? cannon;
}
Column Type Required Description Default Value
id int yes
name String yes Name of the book (English). This field is overrided in Table BibleVersionBook by the field nameTranslation
abrev String yes Abreviation of the book name. This field is overrided in Table BibleVersionBook by the field abrevTranslation
division String yes Division of the book [0 -> Old Testament, 1 -> new Testament, 2 -> Apocryphal, 3 -> Other]
literaryGenre String yes Litetary Genre of the book empty value
cannon String no Cannon of the book "Protestant"

Book Division

id division
0 Old Testament
1 New Testament
2 Apocryphal
3 Other

The App consider the books that has on **cannon Protestant **as his main core, but another books can be set without the range of book on this list. **One important consideration is that in some parts of app you can use the Reference passing the id of the book, so if id has not correlation with the Id set on book, the Reference will not be displayed.

id name abrev division
1 Gênesis Gn 0
2 Êxodo Êx 0
3 Levítico Lv 0
4 Números Nm 0
5 Deuteronômio Dt 0
6 Josué Js 0
7 Juízes Jz 0
8 Rute Rt 0
9 1 Samuel 1 Sm 0
10 2 Samuel 2 Sm 0
11 1 Reis 1 Rs 0
12 2 Reis 2 Rs 0
13 1 Crônicas 1 Cr 0
14 2 Crônicas 2 Cr 0
15 Esdras Ed 0
16 Neemias Ne 0
17 Ester Et 0
18 0
19 Salmos Sl 0
20 Provérbios Pv 0
21 Eclesiastes Ec 0
22 Cânticos Ct 0
23 Isaías Is 0
24 Jeremias Jr 0
25 Lamentações Lm 0
26 Ezequiel Ez 0
27 Daniel Dn 0
28 Oséias Os 0
29 Joel Jl 0
30 Amós Am 0
31 Obadias Ob 0
32 Jonas Jn 0
33 Miquéias Mq 0
34 Naum Na 0
35 Habacuque Hc 0
36 Sofonias Sf 0
37 Ageu Ag 0
38 Zacarias Zc 0
39 Malaquias Ml 0
40 Mateus Mt 1
41 Marcos Mc 1
42 Lucas Lc 1
43 João Jo 1
44 Atos At 1
45 Romanos Rm 1
46 1 Coríntios 1 Co, 1
47 2 Coríntios 2 Co 1
48 Gálatas Gl 1
49 Efésios Ef 1
50 Filipenses Fp 1
51 Colossenses Cl 1
52 1 Tessalonicenses 1 Ts 1
53 2 Tessalonicenses 2 Ts 1
54 1 Timóteo 1 Tm 1
55 2 Timóteo 2 Tm 1
56 Tito Tt 1
57 Filemom Fm 1
58 Hebreus Hb 1
59 Tiago Tg 1
60 1 Pedro 1 Pe 1
61 2 Pedro 2 Pe 1
62 1 João 1 Jo 1
63 2 João 2 Jo 1
64 3 João 3 Jo 1
65 Judas Jd 1
66 Apocalipse Ap 1

Table Verse

abstract class VerseCore {
  int id;
  int idBibleVersion;
  int idBook;
  int numberChapter;
  int numberVerse;
  ///for some type of bible version that has verses jointed
  int? numberVerseEnd;
  List<Content> content;
  String contentWithOutFormat;
}
Column Type Required Description Default Value
id int yes
idBibleVersion int yes id of bible version
idBook int yes book id, see Table Book
numberChapter int yes number of the chapter
numberVerse int yes number of the verse
numberVerseEnd int yes if version contain joined verses, use this to set the number of the verse with is joined
content List of Json String yes the content of the verse in his format (bold, break line, italic, Jesus words, ...), see Content
contentWithOutFormat String yes the all verse without format, this include if verse is joined

Content Schema

(Json Only)

Content is used on table Verse as Json String. This is the core to view the verse text with all formats, please see the Attributes that is supported in Aletheia, the App make the conversion of this attributes in style for the Text that is presented in every sequence. If the text has no attribute, normaly will be passed a List with one Content, if the text has text with style, with words that has style need to be in one sequence.

class Content {
  int seq; //sq
  ///to the text have breakline need to have \n with the text
  String text; //T
  TypeContent typeContent; //tC
  Map<String, dynamic>? attributes; //at
  List<String>? refLexicos; //rS
  @Deprecated
  List<SubText>? subText; //sT
  String? anottation; //an
  String? comment; // cm
  //can be a list of references
  List<Reference>? reference; //rf
  String? footnote; //fn
  ///tag that represents the beginning of a paragraph
  ///
  ///the first letter will be bold
  bool? paragraph; //pr
}
Name Type Required Description Values Description
sq int yes sequence of the data
T String yes the text. if the text has break line, need to have \n
tC String yes type of content [verse, title]
at Json string yes the Attributes related to this text [bold, italic, underline, color (int value), backgroundColor (int value), jesuswords (true or false), fontSize (add to font), highlight (used with the user data, do not include on bible database)]
rS String no list of lexico references, flag BibleVersion hasStrong = true
an String no anottation of this text
cm String no commentary of this text
rf List String no List of references of this text, see Reference
fn String no footnotes of this text ***Not implemented yet
pr bool no use this if is new line and need to Capitalize the first word

Attributes object

(Json only)

enum Attributes {bold,
  italic,
  underline,
  color,
  backgroundColor,
  jesuswords,
  fontSize,}
Name Type Obs
bold bool
italic bool
underline bool
color int int value of the color
backgroundColor int int value of the backgound color
jesuswords bool if true, words will be red
fontSize int plus to font size

Reference object

(Json only)

class Reference {
  int bookNumber;
  int chapterNumber;
  int? verseNumber;
  int? endChapterNumber;
  int? endVerseNumber;
  List<int>? verseNumbers;
}
Name Type Required Description
bookNumber int yes id of book
chapterNumber int yes numberof chapter
verseNumber int no number of verse
endChapterNumber int no number of chapter reference end
endVerseNumber int no number of verse reference end
verseNumbers List of int no ***Not implemented yet
Clone this wiki locally