Skip to content

Understanding the directory system of the repo (may not be updated)

Kara edited this page Jan 18, 2023 · 2 revisions

Folder Structure

JellyBook
├── analysis_options.yaml             < just basic options for linters
├── android/                          < android builds directory
├── assets                            < images in the repo
│   ├── flutter_assets
│   │   ├── assets
│   │   ├── fonts
│   │   ├── packages
│   │   └── shaders
│   └── images
│       ├── Icon.png
│       ├── Logo.png
│       ├── Logo.xcf
│       └── NoCoverArt.png
├── build/                            < where builds are
├── ios/                              < Where all iOS files are
├── jellybook.iml
├── lib                               < Where the code is stored
│   ├── main.dart                     < This file initiates the app and all the databases
│   ├── models                        < This folder stores entries in the databases
│   │   ├── entry.dart                < The Book/Comic/Readable content folder
│   │   ├── entry.g.dart              < .g.dart files are auto generated (DONT TOUCH, HAVE TOOL AUTO GENERATE)
│   │   ├── folder.dart               < Folder entries
│   │   ├── folder.g.dart
│   │   ├── login.dart                < Stores login info
│   │   └── login.g.dart
│   ├── providers                     < Providers take a input and provide a output (in most cases)
│   │   ├── deleteComic.dart          < If a comic should be completely deleted from the DB, use this
│   │   ├── downloader.dart           < You can check if a file is downloaded
│   │   ├── fetchBooks.dart           < To get the comics from the input
│   │   ├── fetchCategories.dart      < To get comics and categories from the server
│   │   ├── fileNameFromTitle.dart    < RegEx to remove character from the title so i can store the file in the OS
│   │   ├── fixRichText.dart          < RegEx to fix rich text gotten from server
│   │   ├── folderProvider.dart       < To take the list of entries and create folders if their parentId is not one of the categories
│   │   ├── login.dart                < login to your server
│   │   ├── pair.dart                 < A pair class (taken from flutters code)
│   │   ├── progress.dart             < Save the progress of the user in a book/comic or get the progress of the user in a book/comic
│   │   └── updateLike.dart           < Update the like status of a book/comic entry in the database
│   ├── screens                       < screens folder and most will have some screen specific functions in them
│   │   ├── collectionScreen.dart     < Shows collections in server
│   │   ├── downloaderScreen.dart     < downloading a comic/book
│   │   ├── homeScreen.dart           < bottom bar for hte app
│   │   ├── infoScreen.dart           < specific book info screen
│   │   ├── loginScreen.dart          < loging in screen
│   │   ├── MainScreens               < The main screens used in the app
│   │   │   ├── continueReadingScreen.dart < Shows you books you have started
│   │   │   ├── downloadsScreen.dart       < downloaded content
│   │   │   ├── mainMenu.dart              < the main menu
│   │   │   └── settingsScreen.dart        < Settings screen (currently unused due to technical issues)
│   │   ├── readingScreen.dart        < Find the file type and redirect to their reading screen
│   │   └── readingScreens            < their reading screen for file type
│   │       ├── cbrCbzReader.dart
│   │       ├── epubReader.dart
│   │       └── pdfReader.dart
│   └── widgets                       < Widgets (ignore this as I don't think they are ever used)
│       └── popover.dart
├── libisar.so
├── LICENSE.md                        < License file
├── PRIVACY.md                        < Privacy file (as required by AppStore and Google Play Store
├── pubspec.lock
├── pubspec.yaml                      < Shows dependencies and a couple other options flutter/dart uses
└── README.md                         < The projects readme
Clone this wiki locally