Poetry Mobile App


#1

Hi,

I am planning to use Ionic for a poetry app. The app will be a huge collection of poetries (1500+ records), categorised by poets, topics and tags. The language of the poems will not be English therefore I am thinking of saving them as images or PDFs. The questions are;

  1. Is Ionic the right choice?
  2. Should I save the files as PDF, images or there is a better solution?
  3. If I am saving them as PDF, how can I open the files within the app with all the PDF reading functionalities (zooming etc).

Please advice, thanks!


Offline database with mongodb interface, GeoJSON support and joining (JSON ODM)
#2

Hi !

  1. Yes. Ionic can fit your needs. It’s basically a master/slave app: a main list with filters (poets, topics, tags) and some details views for poems, topics, tags.
    2./3. Maybe, you can save the poems into a simple data structure and use a service/factory to manipulate them. This method has the advantage that you can easily change the reading UX/UI as you want.

Images aren’t “liquid”/responsive & PDF are quite slow on old devices.

GHz


#3

Thanks @ghz,

My main problem is the language of these poems. They are mainly in Urdu language, which doesn’t have a supported webfont yet. I already have them in PDF format.


#4

There are some web fonts actually! What’s amazing with Ionic is that it’s built on CSS. I did a search in google and found a few. Just make sure you’re aware of the encoding you use and you should have no issue making this app.

Good luck!


#5

Ah ok, I understand more. And apparently it could be difficult to find a fiable Ubu font. You have some clues in this recent post http://jabran.me/articles/google-noto-nastaleeq-urdu-web-font/.

Maybe you can try to convert your pdf into svg images. It can be lighter and quicker to load & manipulate than pdf. Or simply use images like you saif first.


#6

Thanks @NorthMcCormick, I am progressing well with app.

However I have a question. I want to save all the poems locally within the app to avoid the dependency of internet connection while using the app. I have two solutions in mind for that;

  1. Maintain a JSON file structure for all poems. Limitation - hard to query
  2. Maintain a SQL lite database. Is it a right choice for 2000+ poems?

#7

I would recommend a SQL lite database. The JSON would probably get really difficult to manage over time unless you built an in house tool to handle it.

The database will making querying a little easier, keep a lighter memory load in the server because if you design your queries correctly and you’re only getting the name and ID of a poem, then you aren’t loading 2000+ poems into memory at the same time and the app will run better.

There are a lot of SQLite resources around on the forums so go ahead and check those out, can’t wait to see a product!


#8

Thanks again mate. I am thinking of saving he poems as separate JSON files and maintain their relationship with categories, tags, lyricists in either a separate JSON file or SQLite DB. Poems will be read-only so keeping them as JSON files should be fine, but that will increase the size of the app for sure.

I was also thinking of saving them on cloud platform like Firebase and cache the poems which user opens once. Then presumably the caching needs to be done in SQLite DB than JSON files (can you create JSON files dynamically using JavaScript?)


#9

For all who are interested, this might be a solution, called JSON ODM