feat: project setup

This commit is contained in:
darwincereska
2026-01-05 16:56:38 -05:00
parent b6107c7c06
commit 40f8a64a49
38 changed files with 350 additions and 0 deletions

43
models/book/model.go Normal file
View File

@@ -0,0 +1,43 @@
package book
// Book is a model for storing chapters, author, title, and total pages
type Book struct {
Title string `json:"title"`
Chapters []Chapter `json:"chapters"`
TotalPages int `json:"total_pages"`
}
// Chapter is a model that holds chaper number and pages within that chapter
type Chapter struct {
Index int `json:"index"` // Chapter number
Pages []Page `json:"pages"`
}
// Page is model that stores page number and paragraphs
type Page struct {
Index int `json:"index"`
Paragraphs []Paragraph `json:"paragraphs"`
}
// Paragraph is a model that stores paragraph number and lines
type Paragraph struct {
Index int `json:"index"`
Lines []Line `json:"lines"`
}
// Line is an interface for storing the content of a line
type Line struct {
Index int `json:"index"`
Content any `json:"content"`
}
// Dialogue is a model that stores the speaker, and text
type Dialogue struct {
Speaker *string `json:"speaker,omitempty"`
Content string `json:"content"`
}
// Narration is a model that stores text that isnt dialogue
type Narration struct {
Content string `json:"content"`