Share My Creation [Web][BANanoSQL] Offline First Relational Address Book created with SithasoDaisy5 Low Code Generator

Hi Fam

Download Source Code

Access the Address Book on Vercel

SithasoDaisy5 Low Code Generator

Building an Offline-First Address Book with SithasoDaisy5 Low-Code Power​


In today’s fast-paced world, we expect our apps to work anytime, anywhere — even offline. That’s why I recently built a modern, offline-first Address Book Web App using SithasoDaisy5, TailwindCSS, DaisyUI, and BANAno (B4X).

This wasn’t just another CRUD project — I wanted something clean, scalable, and relational. Here’s how I did it.

🗂 A Smarter Data Model​


Instead of cramming everything into a single contacts table, I went relational. My app stores:

  • Contacts Table → Full Name, Mobile, Telephone, Email, Street Address, City, State, Postal Code.
  • Category Table → Groups like Family, Friends, Business, Emergency Contacts.
  • Province Table → A normalized list of provinces/states to avoid typos and ensure clean data.

By linking Category and Province as foreign tables, I can:

Keep data clean – No duplicate province names like "Gauteng" vs "Gauten."
Easily update categories – Add a new category once, and it’s available everywhere.
Enable filtering & sorting – “Show me all Family contacts in Western Cape.”



Modern UI with DaisyUI + TailwindCSS​


A good address book should be more than functional — it should be delightful.
I used SithasoDaisy5 to build an intuitive, responsive interface with:

  • Clean forms with labels
  • Dropdowns for Category & Province
  • Sticky headers for quick navigation
  • Offline-first PWA behavior with a sleek “Sync” button (coming in the near future)




Low-Code, High Speed​


The entire app was built using SithasoDaisy Low Code Generator Tool, which let me:

  • Define tables & relationships visually
  • Generate CRUD pages with zero boilerplate
  • Focus on business logic instead of repetitive UI code
  • Get a ready-to-use offline-first PWA in record time



Why Offline-First Matters​


Contacts are personal. I wanted users to access them even with no internet connection — at a remote work site, during travel, or when mobile data runs out.

Thanks to BANAno + BANanoSQL (aka IndexedDB) + SithasoDaisy5’s (CouchDB) offline capabilities:

  • Data is stored locally on the device
  • To Add: Changes sync automatically when back online. Adopting CouchDB for future versions, one will be able to perform sync with local server.

Future Prospects​


  • Profile photos for each contact
  • Search & filter by multiple tags
  • Birthday reminders & notifications
  • CSV import/export for easy migration and reporting.

Enjoy!
 

Mashiane

Expert
Licensed User
Longtime User
Follow the Full Tutorial


 
Cookies are required to use this site. You must accept them to continue using the site. Learn more…