Files
falah-mobile/prisma/dev.db
T

671 lines
412 KiB
Plaintext
Raw Normal View History

SQLite format 3@ vgEv.•ÉâaûöñìçâX×ê)¹¹/Cindexsqlite_autoindex_Purchase_1Purchase„< ˆOtableListingListing CREATE TABLE "Listing" (
"id" TEXT NOT NULL PRIMARY KEY,
"title" TEXT NOT NULL,
"description" TEXT NOT NULL,
"category" TEXT NOT NULL,
"priceFlh" INTEGER NOT NULL,
"sellerId" TEXT NOT NULL,
"status" TEXT NOT NULL DEFAULT 'active',
"featured" BOOLEAN NOT NULL DEFAULT false,
"featuredUntil" DATETIME,
"fileType" TEXT,
"createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
CONSTRAINT "Listing_sellerId_fkey" FOREIGN KEY ("sellerId") REFERENCES "User" ("id") ON DELETE RESTRICT ON UPDATE CASCADE
)- Aindexsqlite_autoindex_Listing_1Listing
| …GtableUserLevelUserLevel
CREATE TABLE "UserLevel" (
"userId" TEXT NOT NULL PRIMARY KEY,
"level" INTEGER NOT NULL DEFAULT 1,
"xp" INTEGER NOT NULL DEFAULT 0,
"xpToNext" INTEGER NOT NULL DEFAULT 100,
"updatedAt" DATETIME NOT NULL,
CONSTRAINT "UserLevel_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User" ("id") ON DELETE RESTRICT ON UPDATE CASCADE
)1
Eindexsqlite_autoindex_UserLevel_1UserLevel ƒ##…}tableAchievementAchievementCREATE TABLE "Achievement" (
"id" TEXT NOT NULL PRIMARY KEY,
"userId" TEXT NOT NULL,
"type" TEXT NOT NULL,
"title" TEXT NOT NULL,
"description" TEXT,
"icon" TEXT,
"unlockedAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
CONSTRAINT "Achievement_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User" ("id") ON DELETE RESTRICT ON UPDATE CASCADE
)5I#indexsqlite_autoindex_Achievement_1Achievement ''…=tableXpTransactionXpTransactionCREATE TABLE "XpTransaction" (
"id" TEXT NOT NULL PRIMARY KEY,
"userId" TEXT NOT NULL,
"amount" INTEGER NOT NULL,
"reason" TEXT NOT NULL,
"createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
CONSTRAINT "XpTransaction_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User" ("id") ON DELETE RESTRICT ON UPDATE CASCADE
)9M'indexsqlite_autoindex_XpTransaction_1XpTransactionƒt##‡/tableDailyStreakDailyStreakCREATE TABLE "DailyStreak" (
"userId" TEXT NOT NULL PRIMARY KEY,
"currentStreak" INTEGER NOT NULL DEFAULT 0,
"longestStreak" INTEGER NOT NULL DEFAULT 0,
"lastClaimDate" DATETIME,
"streakFreeze" INTEGER NOT NULL DEFAULT 0,
"createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
"updatedAt" DATETIME NOT NULL,
CONSTRAINT "DailyStreak_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User" ("id") ON DELETE RESTRICT ON UPDATE CASCADE
)5I#indexsqlite_autoindex_DailyStreak_1DailyStreakgtableUserUserCREATE TABLE "User" (
"id" TEXT NOT NULL PRIMARY KEY,
"email" TEXT NOT NULL,
"name" TEXT NOT NULL,
"passwordHash" TEXT,
"provider" TEXT NOT NULL DEFAULT 'email',
"providerId" TEXT,
"avatar" TEXT,
"flhBalance" INTEGER NOT NULL DEFAULT 5000,
"isPro" BOOLEAN NOT NULL DEFAULT false,
"isPremium" BOOLEAN NOT NULL DEFAULT false,
"experienceLevel" TEXT,
"madhab" TEXT,
"coachPersona" TEXT,
"preferredName" TEXT,
"coachingGoals" TEXT,
"lastCoachedAt" DATETIME,
"dailyMsgCount" INTEGER NOT NULL DEFAULT 0,
"dailyMsgResetAt" DATETIME,
"stripeCustomerId" TEXT,
"stripeSubscriptionId" TEXT,
"trialEndsAt" DATETIME,
"createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP
)';indexsqliteUQHI/>%
ÿCc-3health-1782675966223-efp6kghealth-1782675966223-efp6kg@health.internal__health_check__email2026-06-28 19:46:06w?+U cmqxebir10001cgrv4lr70fapdemo@falahos.mydemou
ããÃChealth-1782675966223-efp6kg? cmqxebir10001cgrv4lr70fap
ãã? cmqxebir10001cgrv4lr70fap


ãã? cmqxebir10001cgrv4lr70fap



**Ï
œ ß
a
¨Xêê¹¹†+Œ9tableUserUserCREATE TABLE "User" (
"id" TEXT NOT NULL PRIMARY KEY,
"email" TEXT NOT NULL,
"name" TEXT NOT NULL,
"passwordHash" TEXT,
"provider" TEXT NOT NULL DEFAULT 'email',
"providerId" TEXT,
"avatar" TEXT,
"flhBalance" INTEGER NOT NULL DEFAULT 5000,
"isPro" BOOLEAN NOT NULL DEFAULT false,
"isPremium" BOOLEAN NOT NULL DEFAULT false,
"experienceLevel" TEXT,
"madhab" TEXT,
"coachPersona" TEXT,
"preferredName" TEXT,
"coachingGoals" TEXT,
"lastCoachedAt" DATETIME,
"dailyMsgCount" INTEGER NOT NULL DEFAULT 0,
"dailyMsgResetAt" DATETIME,
"stripeCustomerId" TEXT,
"stripeSubscriptionId" TEXT,
"trialEndsAt" DATETIME,
"createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP
, flhPurchased INTEGER NOT NULL DEFAULT 0)1
Eindexsqlite_autoindex_UserLevel_1UserLevel | …GtableUserLevelUserLevel
CREATE TABLE "UserLevel" (
"userId" TEXT NOT NULL PRIMARY KEY,
"level" INTEGER NOT NULL DEFAULT 1,
"xp" INTEGER NOT NULL DEFAULT 0,
"xpToNext" INTEGER NOT NULL DEFAULT 100,
"updatedAt" DATETIME NOT NULL,
CONSTRAINT "UserLevel_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User" ("id") ON DELETE RESTRICT ON UPDATE CASCADE
##…}tableAchievementAchievementCREATE TABLE "Achievement" (
"id" TEXT NOT NULL PRIMARY KEY,
"userId" TEXT NOT NULL,
"type" TEXT NOT NULL,
"title" TEXT NOT NULL,
"description" TEXT,
"icon" TEXT,
"unlockedAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
CONSTRAINT "Achievement_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User" ("id") ON DELETE RESTRICT ON UPDATE CASCADE
)5I#indexsqlite_autoindex_Achievement_1Achievement ''…=tableXpTransactionXpTransactionCREATE TABLE "XpTransaction" (
"id" TEXT NOT NULL PRIMARY KEY,
"userId" TEXT NOT NULL,
"amount" INTEGER NOT NULL,
"reason" TEXT NOT NULL,
"createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
CONSTRAINT "XpTransaction_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User" ("id") ON DELETE RESTRICT ON UPDATE CASCADE
)9M'indexsqlite_autoindex_XpTransaction_1XpTransactionƒt##‡/tableDailyStreakDailyStreakCREATE TABLE "DailyStreak" (
"userId" TEXT NOT NULL PRIMARY KEY,
"currentStreak" INTEGER NOT NULL DEFAULT 0,
"longestStreak" INTEGER NOT NULL DEFAULT 0,
"lastClaimDate" DATETIME,
"streakFreeze" INTEGER NOT NULL DEFAULT 0,
"createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
"updatedAt" DATETIME NOT NULL,
CONSTRAINT "DailyStreak_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User" ("id") ON DELETE RESTRICT ON UPDATE CASCADE
)5I#indexsqlite_autoindex_DailyStreak_1DailyStreakøgtableUserUserCREATE TABLE "User" (
"id" TEXT NOT NULL PRIMARY KEY,
"email" TEXT NOT NULL,
"name" TEXT NOT NULL,
"passwordHash" TEXT,
"provider" TEXT NOT NULL DEFAULT 'email',
"providerId" TEXT,
"avatar" TEXT,
"flhBalance" INTEGER NOT NULL DEFAULT 5000,
"isPro" BOOLEAN NOT NULL DEFAULT false,
"isPremium" BOOLEAN NOT NULL DEFAULT false,
"experienceLevel" TEXT,
"madhab" TEXT,
"coachPersona" TEXT,
"preferredName" TEXT,
"coachingGoals" TEXT,
"lastCoachedAt" DATETIME,
"dailyMsgCount" INTEGER NOT NULL DEFAULT 0,
"dailyMsgResetAt" DATETIME,
"stripeCustomerId" TEXT,
"stripeSubscriptionId" TEXT,
"trialEndsAt" DATETIME,
"createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP
)';indexsqlite_autoindex_User_1User
f
¼n)13¼úY Q   M  )=indexsqlite_autoindex_Group_1Group†;##Œ=tableForumThreadForumThreadCREATE TABLE "ForumThread" (
"id" TEXT NOT NULL PRIMARY KEY,
"title" TEXT NOT NULL,
"content" TEXT NOT NULL,
"categoryId" TEXT NOT NULL,
"authorId" TEXT NOT NULL,
"pinned" BOOLEAN NOT NULL DEFAULT false,
"shariahStatus" TEXT NOT NULL DEFAULT 'pending',
"shariahFlags" TEXT,
"createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
"groupId" TEXT,
CONSTRAINT "ForumThread_categoryId_fkey" FOREIGN KEY ("categoryId") REFERENCES "ForumCategory" ("id") ON DELETE RESTRICT ON UPDATE CASCADE,
CONSTRAINT "ForumThread_authorId_fkey" FOREIGN KEY ("authorId") REFERENCES "User" ("id") ON DELETE RESTRICT ON UPDATE CASCADE,
CONSTRAINT "ForumThread_groupId_fkey" FOREIGN KEY ("groupId") REFERENCES "Group" ("id") ON DELETE SET NULL ON UPDATE CASCADE
)5I#indexsqlite_autoindex_ForumThread_1ForumThread''ƒ=tableForumCategoryForumCategoryCREATE TABLE "ForumCategory" (
"id" TEXT NOT NULL PRIMARY KEY,
"name" TEXT NOT NULL,
"description" TEXT,
"icon" TEXT,
"order" INTEGER,
"createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP
)9M'indexsqlite_autoindex_ForumCategory_1ForumCategoryƒ8))†+tableCashoutRequestCashoutRequestCREATE TABLE "CashoutRequest" (
"id" TEXT NOT NULL PRIMARY KEY,
"userId" TEXT NOT NULL,
"amountFlh" INTEGER NOT NULL,
"fiatAmount" REAL NOT NULL,
"status" TEXT NOT NULL DEFAULT 'pending',
"createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
CONSTRAINT "CashoutRequest_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User" ("id") ON DELETE RESTRICT ON UPDATE CASCADE
);O)indexsqlite_autoindex_CashoutRequest_1CashoutRequest´/Cindexsqlite_autoindex_Purchase_1Purchase{atablePurchasePurchaseCREATE TABLE "Purchase" (
"id" TEXT NOT NULL PRIMARY KEY,
"listingId" TEXT NOT NULL,
"buyerId" TEXT NOT NULL,
"sellerId" TEXT NOT NULL,
"amountFlh" INTEGER NOT NULL,
"platformFee" INTEGER NOT NULL,
"sellerPayout" INTEGER NOT NULL,
"autoConfirmAt" DATETIME NOT NULL,
"createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
CONSTRAINT "Purchase_listingId_fkey" FOREIGN KEY ("listingId") REFERENCES "Listing" ("id") ON DELETE RESTRICT ON UPDATE CASCADE,
CONSTRAINT "Purchase_buyerId_fkey" FOREIGN KEY ("buyerId") REFERENCES "User" ("id") ON DELETE RESTRICT ON UPDATE CASCADE,
CONSTRAINT "Purchase_sellerId_fkey" FOREIGN KEY ("sellerId") REFERENCES "User" ("id") ON DELETE RESTRICT ON UPDATE CASCADE
)qAindexsqlite_autoindex_Listing_1Listing
(ˆOtableListingListing CREATE TABLE "Listing" (
1E5I#indexsqlite_autoindex_GroupMember_1GroupMember##‡QtableGroupMemberGroupMemberCREATE TABLE "GroupMember" (
"id" TEXT NOT NULL PRIMARY KEY,
"groupId" TEXT NOT NULL,
"userId" TEXT NOT NULL,
"role" TEXT NOT NULL DEFAULT 'member',
"joinedAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
CONSTRAINT "GroupMember_groupId_fkey" FOREIGN KEY ("groupId") REFERENCES "Group" ("id") ON DELETE RESTRICT ON UPDATE CASCADE,
CONSTRAINT "GroupMember_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User" ("id") ON DELETE RESTRICT ON UPDATE CASCADE
))=indexsqlite_autoindex_Group_1Groupy…QtableGroupGroupCREATE TABLE "Group" (
"id" TEXT NOT NULL PRIMARY KEY,
"name" TEXT NOT NULL,
"description" TEXT,
"ownerId" TEXT NOT NULL,
"inviteCode" TEXT NOT NULL,
"createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
CONSTRAINT "Group_ownerId_fkey" FOREIGN KEY ("ownerId") REFERENCES "User" ("id") ON DELETE RESTRICT ON UPDATE CASCADE
)


MãŧkM?cmqxjprmj0005sfs50nwg7fj6?cmqxjprm50004sfs581yqtvko?cmqxjprls0003sfs5ougyn169?cmqxjprle0002sfs5p61yk12a?cmqxjprkx0001sfs56xvwr41b? cmqxjprkf0000sfs5q1die0xo
xÖ
Ì Î
x ?S+??cmqxjprox000fsfs5z8usopfcStrengthening Family Bonds in IslamHow do we strengthen our family relationships according to Islamic teachings? Looking for practical advice on being better spouses and parents.cmqxjprls0003sfs5ougyn169cmqxebir10001cgrv4lr70fapapprovedŸ
ir9 ?Os??cmqxjproi000dsfs5wcn9yxj1Ruling on Cryptocurrency in IslamAssalamu alaikum, I would like to understand the Islamic ruling on cryptocurrency trading. Is it considered halal? What do the scholars say about Bitcoin and other digital assets?cmqxjprle0002sfs5p61yk12acmqxebir10001cgrv4lr70fapapprovedŸ
ib{ ?E??cmqxjpro2000bsfs5a6e84i5lTips for Memorizing Juz AmmaI have started memorizing Juz Amma and would love to hear tips and techniques that worked for others. Jazakum Allah khair!cmqxjprkx0001sfs56xvwr41bcmqxebir10001cgrv4lr70fapapprovedŸ
iR ?G??cmqxjprno0009sfs5zzsx65f1The Importance of Daily DhikrSeeking reminders on the importance of daily remembrance of Allah. What are your favorite adhkar and how do you maintain consistency?cmqxjprkf0000sfs5q1die0xocmqxebir10001cgrv4lr70fapapprovedŸ
iD' ?C[?? cmqxjprn80007sfs5lpnmowf8Welcome to Falah Community!Assalamu alaikum! Welcome to our community forum. This is a place for meaningful discussions, seeking knowledge, and supporting one another. Please introduce yourself!cmqxjprkf0000sfs5q1die0xocmqxebir10001cgrv4lr70fapapprovedŸ
i4
kãŧk?cmqxjprox000fsfs5z8usopfc?cmqxjproi000dsfs5wcn9yxj1?cmqxjpro2000bsfs5a6e84i5l?cmqxjprno0009sfs5zzsx65f1? cmqxjprn80007sfs5lpnmowf8



* ï[l9t;ã²|?7);(O)indexsqlite_autoindex_PremiumBenefit_1PremiumBenefit,3'))„!tablePremiumBenefitPremiumBenefit+CREATE TABLE "PremiumBenefit" (
"id" TEXT NOT NULL PRIMARY KEY,
"tier" TEXT NOT NULL,
"name" TEXT NOT NULL,
"description" TEXT,
"icon" TEXT,
"active" BOOLEAN NOT NULL DEFAULT true,
"createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP
)/&Cindexsqlite_autoindex_Referral_1Referral*„U%ˆ}tableReferralReferral)CREATE TABLE "Referral" (
"id" TEXT NOT NULL PRIMARY KEY,
"referrerId" TEXT NOT NULL,
"referredId" TEXT NOT NULL,
"status" TEXT NOT NULL DEFAULT 'pending',
"rewardFlh" INTEGER NOT NULL DEFAULT 0,
"createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
"upgradedAt" DATETIME,
CONSTRAINT "Referral_referrerId_fkey" FOREIGN KEY ("referrerId") REFERENCES "User" ("id") ON DELETE RESTRICT ON UPDATE CASCADE,
CONSTRAINT "Referral_referredId_fkey" FOREIGN KEY ("referredId") REFERENCES "User" ("id") ON DELETE RESTRICT ON UPDATE CASCADE
)7$K%indexsqlite_autoindex_Notification_1Notification(ƒB#%%†GtableNotificationNotification'CREATE TABLE "Notification" (
"id" TEXT NOT NULL PRIMARY KEY,
"userId" TEXT NOT NULL,
"type" TEXT NOT NULL,
"title" TEXT NOT NULL,
"body" TEXT,
"data" TEXT,
"read" BOOLEAN NOT NULL DEFAULT false,
"createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
CONSTRAINT "Notification_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User" ("id") ON DELETE RESTRICT ON UPDATE CASCADE
)1"Eindexsqlite_autoindex_UserPlace_1UserPlace&ƒl!‡'tableUserPlaceUserPlace%CREATE TABLE "UserPlace" (
"id" TEXT NOT NULL PRIMARY KEY,
"userId" TEXT NOT NULL,
"name" TEXT NOT NULL,
"address" TEXT NOT NULL,
"lat" REAL NOT NULL,
"lng" REAL NOT NULL,
"type" TEXT NOT NULL,
"notes" TEXT,
"createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
"updatedAt" DATETIME NOT NULL,
CONSTRAINT "UserPlace_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User" ("id") ON DELETE RESTRICT ON UPDATE CASCADE
)3 G!indexsqlite_autoindex_HalalUsage_1HalalUsage$\!!tableHalalUsageHalalUsage#CREATE TABLE "HalalUsage" (
"userId" TEXT NOT NULL PRIMARY KEY,
"queriesUsed" INTEGER NOT NULL DEFAULT 0,
"queriesLimit" INTEGER NOT NULL DEFAULT 100,
"periodEnd" DATETIME,
CONSTRAINT "HalalUsage_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User" ("id") ON DELETE RESTRICT ON UPDATE CASCADE
)9M'indexsqlite_autoindex_HalalBookmark_1HalalBookmark"ƒ''…_tableHalalBookmarkHalalBookmark!CREATE TABLE "HalalBookmark" (
"id" TEXT NOT NULL PRIMARY KEY,
"userId" TEXT NOT NULL,
"itemId" TEXT NOT NULL,
"itemType" TEXT NOT NULL,
"label" TEXT,
"createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
CONSTRAINT "HalalBookmark_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User" ("id") ON DELETE RESTRICT ON UPDATE CASCADE
)5I#indexsqlite_autoindex_ChatHistory_1ChatHistory ƒ##…WtableChatHistoryChatHistoryCREATE TABLE "ChatHistory" (
"id" TEXT NOT NULL PRIMARY KEY,
"userId" TEXT NOT NULL,
"role" TEXT NOT NULL,
"content" TEXT NOT NULL,
"metadata" TEXT,
"createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
CONSTRAINT "ChatHistory_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User" ("id") ON DELETE RESTRICT ON UPDATE CASCADE
)1Eindexsqlite_autoindex_ForumPost_1ForumPost„KˆetableForumPostForumPostCREATE TABLE "ForumPost" (
"id" TEXT NOT NULL PRIMARY KEY,
"content" TEXT NOT NULL,
"threadId" TEXT NOT NULL,
"authorId" TEXT NOT NULL,
"shariahStatus" TEXT NOT NULL DEFAULT 'pending',
"shariahFlags" TEXT,
"createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
CONSTRAINT "ForumPost_threadId_fkey" FOREIGN KEY ("threadId") REFERENCES "ForumThread" ("id") ON DELETE RESTRICT ON UPDATE CASCADE,
CONSTRAINT "ForumPost_authorId_fkey" FOREIGN KEY ("authorId") REFERENCES "User" ("id") ON DELETE RESTRICT ON UPDATE CASCADE
)









"userId" TEXT NOT NULL,
"date" TEXT NOT NULL,
"subhanallah" INTEGER NOT NULL DEFAULT 0,
"alhamdulillah" INTEGER NOT NULL DEFAULT 0,
"allahuakbar" INTEGER NOT NULL DEFAULT 0,
"custom" INTEGER NOT NULL DEFAULT 0,
"totalCount" INTEGER NOT NULL DEFAULT 0,
"sessionCount" INTEGER NOT NULL DEFAULT 0,
"updatedAt" DATETIME NOT NULL,
PRIMARY KEY ("userId", "date"),
CONSTRAINT "DhikrDay_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User" ("id") ON DELETE RESTRICT ON UPDATE CASCADE
)7,K%indexsqlite_autoindex_DhikrSession_1DhikrSession1ƒ[+%%†ytableDhikrSessionDhikrSession0CREATE TABLE "DhikrSession" (
"id" TEXT NOT NULL PRIMARY KEY,
"userId" TEXT NOT NULL,
"type" TEXT NOT NULL,
"count" INTEGER NOT NULL DEFAULT 0,
"target" INTEGER NOT NULL DEFAULT 33,
"completed" BOOLEAN NOT NULL DEFAULT true,
"createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
CONSTRAINT "DhikrSession_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User" ("id") ON DELETE RESTRICT ON UPDATE CASCADE
)=*Q+indexsqlite_autoindex_HalalPlaceCache_1HalalPlaceCache.K)++MtableHalalPlaceCacheHalalPlaceCache-CREATE TABLE "HalalPlaceCache" (
"id" TEXT NOT NULL PRIMARY KEY,
"cacheKey" TEXT NOT NULL,
"data" TEXT NOT NULL,
"expiresAt" DATETIME NOT NULL
);(O)indexsqlite_autoindex_PremiumBenefit_1PremiumBenefit,3'))„!tablePremiumBenefitPremiumBenefit+CREATE TABLE "PremiumBenefit" (
"id" TEXT NOT NULL PRIMARY KEY,
"tier" TEXT NOT NULL,
"name" TEXT NOT NULL,
"description" TEXT,
"icon" TEXT,
"active" BOOLEAN NOT NULL DEFAULT true,
"createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP
)/&Cindexsqlite_autoindex_Referral_1Referral*


?!cmqxebir10001cgrv4lr70fap2026-06-28Ÿ
ØØ'?! cmqxebir10001cgrv4lr70fap2026-06-28
íí½/chealth-1782675966223-efp6kg@health.internal+ demo@falahos.my
ÐÐÐ
email/U ummahid21bb8c5d-172b-4787-ba23-e31eccd0bc7e



®˜Äê×'Announcements/Finance & Economy/Family & Marriage)Fiqh & Rulings)Quran & Hadith1 General Discussion











ãã? cmqxebir10001cgrv4lr70fap

7
½
Gm1)LMALU/indexsqlite_autoindex_LearnSubscription_1LearnSubscr…I33‰[tableLearnModuleProgressLearnModuleProgressOCREATE TABLE "LearnModuleProgress" (
"id" TEXT NOT NULL PRIMARY KEY,
"enrollmentId" TEXT NOT NULL,
"moduleId" TEXT NOT NULL,
"completed" BOOLEAN NOT NULL DEFAULT false,
"score" REAL,
"listened" BOOLEAN NOT NULL DEFAULT false,
"completedAt" DATETIME,
"updatedAt" DATETIME NOT NULL,
CONSTRAINT "LearnModuleProgress_enrollmentId_fkey" FOREIGN KEY ("enrollmentId") REFERENCES "LearnEnrollment" ("id") ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT "LearnModuleProgress_moduleId_fkey" FOREIGN KEY ("moduleId") REFERENCES "LearnModule" ("id") ON DELETE CASCADE ON UPDATE CASCADE
)„AG++ˆ9tableLearnEnrollmentLearnEnrollmentMCREATE TABLE "LearnEnrollment" (
"id" TEXT NOT NULL PRIMARY KEY,
"userId" TEXT NOT NULL,
"courseId" TEXT NOT NULL,
"purchaseType" TEXT NOT NULL DEFAULT 'one_time',
"completed" BOOLEAN NOT NULL DEFAULT false,
"progress" REAL NOT NULL DEFAULT 0,
"startedAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
"completedAt" DATETIME,
"updatedAt" DATETIME NOT NULL,
CONSTRAINT "LearnEnrollment_courseId_fkey" FOREIGN KEY ("courseId") REFERENCES "LearnCourse" ("id") ON DELETE RESTRICT ON UPDATE CASCADE
)ÿ3ƒ(K//tableLearnSubscriptionLearnSubscriptionQCREATE TABLE "LearnSubscription" (
"id" TEXT NOT NULL PRIMARY KEY,
"userId" TEXT NOT NULL,
"status" TEXT NOT NULL DEFAULT 'active',
"polarSubId" TEXT,
"currentPeriodStart" DATETIb@3indexDhikrDay_userId_idxDhikrDayECREATE INDEX "DhikrDay_userId_idx" ON "DhikrDay"("userId")?O%?indexDhikrSession_userId_createdAt_idxDhikrSessionDCREATE INDEX "DhikrSession_userId_createdAt_idx" ON "DhikrSession"("userId", "createdAt")=HQ+indexsqlite_autoindex_LearnEnrollment_1LearnEnrollmentN5FI#indexsqlite_autoindex_LearnModule_1LearnModuleL„@E##ˆGtableLearnModuleLearnModuleKCREATE TABLE "LearnModule" (
"id" TEXT NOT NULL PRIMARY KEY,
"courseId" TEXT NOT NULL,
"order" INTEGER NOT NULL,
"title" TEXT NOT NULL,
"slug" TEXT NOT NULL,
"keyTakeaway" TEXT,
"duration" INTEGER NOT NULL DEFAULT 5,
"content" TEXT,
"audioPath" TEXT,
"quizData" TEXT,
"createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
"updatedAt" DATETIME NOT NULL,
CONSTRAINT "LearnModule_courseId_fkey" FOREIGN KEY ("courseId") REFERENCES "LearnCourse" ("id") ON DELETE CASCADE ON UPDATE CASCADE
)5DI#indexsqlite_autoindex_LearnCourse_1LearnCourseJ…C##‰ctableLearnCourseLearnCourseICREATE TABLE "LearnCourse" (
"id" TEXT NOT NULL PRIMARY KEY,
"slug" TEXT NOT NULL,
"title" TEXT NOT NULL,
"author" TEXT NOT NULL,
"description" TEXT NOT NULL,
"imageUrl" TEXT,
"moduleCount" INTEGER NOT NULL DEFAULT 0,
"totalMinutes" INTEGER NOT NULL DEFAULT 0,
"difficulty" TEXT NOT NULL DEFAULT 'beginner',
"giteaPath" TEXT NOT NULL,
"priceFlh" INTEGER,
"priceUsd" REAL,
"subscriptionOnly" BOOLEAN NOT NULL DEFAULT false,
"published" BOOLEAN NOT NULL DEFAULT false,
"createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
"updatedAt" DATETIME NOT NULL
)+B?indexsqlite_autoindex_Review_1ReviewG†AktableReviewReviewFCREATE TABLE "Review" (
"id" TEXT NOT NULL PRIMARY KEY,
"listingId" TEXT NOT NULL,
"purchaseId" TEXT NOT NULL,
"reviewerId" TEXT NOT NULL,
"sellerId" TEXT NOT NULL,
"rating" INTEGER NOT NULL,
"title" TEXT,
"text" TEXT NOT NULL,
"createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
"updatedAt" DATETIME NOT NULL,
CONSTRAINT "Review_listingId_fkey" FOREIGN KEY ("listingId") REFERENCES "Listing" ("id") ON DELETE RESTRICT ON UPDATE CASCADE,
CONSTRAINT "Review_purchaseId_fkey" FOREIGN KEY ("purchaseId") REFERENCES "Purchase" ("id") ON DELETE RESTRICT ON UPDATE CASCADE,
CONSTRAINT "Review_reviewerId_fkey" FOREIGN KEY ("reviewerId") REFERENCES "User" ("id") ON DELETE RESTRICT ON UPDATE CASCADE
)

©
z ] A
?7A'G cmqxjprqz000ksfs5cgfzatexsadaqah-and-communitySadaqah & Community GivingFalah AcademyExplore the virtues of voluntary charity (sadaqah) in Islam and learn how to make the most impact through strategic community giving.beginnercourses/sadaqah-and-communityŸ
i¼Ÿ
i¼‚?55'%E cmqxjprqj000jsfs5fdd0zs7ywaqf-endowment-guideWaqf Endowment GuideFalah AcademyUnderstand the concept of Waqf (Islamic endowment) and how to set up perpetual charitable endowments that generate ongoing rewards.intermediatecourses/waqf-endowment-guideŸ
i«Ÿ
i«‚?'''?%7 cmqxjprq2000isfs55hxnyp7wfiqh-of-salahFiqh of SalahFalah AcademyA detailed study of the Islamic prayer (salah) according to the Quran and Sunnah. Covers conditions, pillars, obligations, and common mistakes in prayer.2intermediatecourses/fiqh-of-salahŸ
iŸ
i›‚,?++'_; cmqxjprpo000hsfs5x3oivue8zakat-made-easyZakat Made EasyFalah AcademyA comprehensive guide to understanding and calculating Zakat. Learn about nisab thresholds, different types of wealth, and how to fulfill this important pillar of Islam.(beginnercourses/zakat-made-easyŸ
iŒŸ
iŒ‚T?7K'wG cmqxjprpa000gsfs5ppd2sj9vintro-islamic-financeIntroduction to Islamic FinanceFalah AcademyLearn the fundamentals of Islamic finance including the prohibition of riba (interest), the principles of halal investing, and the key contracts used in Islamic banking and finance.beginnercourses/intro-islamic-financeŸ
iŸ
i
kãŧk?cmqxjprqz000ksfs5cgfzatex?cmqxjprqj000jsfs5fdd0zs7y?cmqxjprq2000isfs55hxnyp7w?cmqxjprpo000hsfs5x3oivue8? cmqxjprpa000gsfs5ppd2sj9v
??33)Ocmqxjpruk0014sfs5cufajp70cmqxjprq2000isfs55hxnyp7wConditions of Salahconditions-of-salahSalah has 9 preconditions including purity, facing qibla, and proper covering.# Conditions of Salah
Salah has 9 preconditions including purity, facing qibla, and proper covering.
<!-- Full lesson content to be added in future updates -->Ÿ
i<Ÿ
i<] ??;1Icmqxjpru60012sfs528vp4mntcmqxjprpo000hsfs5x3oivue8Distributing Your Zakatdistributing-zakatZakat must be given to 8 eligible categories, prioritizing local needs.# Distributing Your Zakat
Zakat must be given to 8 eligible categories, prioritizing local needs.
<!-- Full lesson content to be added in future updates -->Ÿ
i/Ÿ
i/P??9/=cmqxjprtx0010sfs526tln6locmqxjprpo000hsfs5x3oivue8Calculating Your Zakatzakat-calculationZakat is 2.5% of qualifying wealth held for one lunar year (hawl).# Calculating Your Zakat
Zakat is 2.5% of qualifying wealth held for one lunar year (hawl).
<!-- Full lesson content to be added in future updates -->Ÿ
i%Ÿ
i%ƒ"???+_ƒcmqxjprtl000ysfs56t2id2kxcmqxjprpo000hsfs5x3oivue8Types of Zakatable Wealthtypes-of-wealthZakat applies to cash, gold/silver, business inventory, agricultural produce, livestock, and investments.# Types of Zakatable Wealth
Zakat applies to cash, gold/silver, business inventory, agricultural produce, livestock, and investments.
<!-- Full lesson content to be added in future updates -->Ÿ
iŸ
iƒ?? //[}cmqxjprta000wsfs562zs3ddscmqxjprpo000hsfs5x3oivue8Calculating Nisabcalculating-nisabNisab is the minimum amount of wealth before Zakat is due, equivalent to 85g of gold or 595g of silver.# Calculating Nisab
Nisab is the minimum amount of wealth before Zakat is due, equivalent to 85g of gold or 595g of silver.
<!-- Full lesson content to be added in future updates -->Ÿ
iŸ
i{??)'Qmcmqxjprsz000usfs5z8fp271bcmqxjprpo000hsfs5x3oivue8What is Zakat?what-is-zakatZakat is the third pillar of Islam — an obligatory charity on wealth that meets nisab threshold.# What is Zakat?
Zakat is the third pillar of Islam — an obligatory charity on wealth that meets nisab threshold.
<!-- Full lesson content to be added in future updates -->Ÿ
iŸ
iƒ)??9)mƒcmqxjprso000ssfs5sd5gbdg7cmqxjprpa000gsfs5ppd2sj9vModern Islamic Fintechmodern-fintechTechnology is making Islamic finance more accessible through digital wallets, tokenization, and smart contracts.# Modern Islamic Fintech
Technology is making Islamic finance more accessible through digital wallets, tokenization, and smart contracts.
<!-- Full lesson content to be added in future updates -->Ÿ
iøŸ
iøƒ
??A/Cwcmqxjprsa000qsfs5gjbyhvz4cmqxjprpa000gsfs5ppd2sj9vIslamic Contracts Overviewislamic-contractsKey contracts include Murabaha (cost-plus), Musharakah (partnership), and Ijarah (leasing).# Islamic Contracts Overview
Key contracts include Murabaha (cost-plus), Musharakah (partnership), and Ijarah (leasing).
<!-- Full lesson content to be added in future updates -->Ÿ
iêŸ
iê‚u?? A+1ecmqxjprrw000osfs508ibkxe6cmqxjprpa000gsfs5ppd2sj9vHalal Investing Principleshalal-investingInvestments must avoid riba, gharar (excessive uncertainty), and haram industries.# Halal Investing Principles
Investments must avoid riba, gharar (excessive uncertainty), and haram industries.
<!-- Full lesson content to be added in future updates -->Ÿ
iÜŸ
i܂z??'%Smcmqxjprrk000msfs5iemzhwafcmqxjprpa000gsfs5ppd2sj9vWhat is Riba?what-is-ribaRiba (interest) is strictly prohibited in Islam. Understand the different types and why it matters.# What is Riba?
Riba (interest) is strictly prohibited in Islam. Understand the different types and why it matters.
<!-- Full lesson content to be added in future updates -->Ÿfe

ãŧkM/óÕ·{]?!
å
Ç
©
?cmqxjpryl001qsfs5ieelox9q?cmqxjpry9001osfs5dybhxvzt?cmqxjprxy001msfs5tob375rh?cmqxjprxg001ksfs5cfeo0s13?cmqxjprx5001isfs5x9jn3343?cmqxjprwu001gsfs5ffumo1za?cmqxjprwd001esfs5effp8b1s?cmqxjprvy001csfs5k5s86zkx?cmqxjprvi001asfs5i54kewkd
?cmqxjprv80018sfs5ymtecl8i ?cmqxjpruu0016sfs5wc37keq2 ?cmqxjpruk0014sfs5cufajp70
?cmqxjpru60012sfs528vp4mnt ?cmqxjprtx0010sfs526tln6lo?cmqxjprtl000ysfs56t2id2kx?cmqxjprta000wsfs562zs3dds?cmqxjprsz000usfs5z8fp271b?cmqxjprso000ssfs5sd5gbdg7?cmqxjprsa000qsfs5gjbyhvz4?cmqxjprrw000osfs508ibkxe6? cmqxjprrk000msfs5iemzhwaf

ý2Ëd
ýe
???cmqxl8v5o0009glni6f9bjcv5cmqxebir10001cgrv4lr70fapcmqxjprqz000ksfs5cgfzatexfreeŸ
ȼŸ
ȼe
???cmqxl8v5h0007glni6xorstqjcmqxebir10001cgrv4lr70fapcmqxjprqj000jsfs5fdd0zs7yfreeŸ
ȵŸ
ȵe
???cmqxl8v580005glniszhh0coscmqxebir10001cgrv4lr70fapcmqxjprq2000isfs55hxnyp7wfreeŸ
ȬŸ
Ȭe
???cmqxl8v4x0003glnid9yg60kncmqxebir10001cgrv4lr70fapcmqxjprpo000hsfs5x3oivue8freeŸ
È¡Ÿ
ȡe
???cmqxl8v4i0001glni9opufyw3cmqxebir10001cgrv4lr70fapcmqxjprpa000gsfs5ppd2sj9vfreeŸ
È’Ÿ
È’
kãŧk?cmqxl8v5o0009glni6f9bjcv5?cmqxl8v5h0007glni6xorstqj?cmqxl8v580005glniszhh0cos?cmqxl8v4x0003glnid9yg60kn? cmqxl8v4i0001glni9opufyw3



"id" TEXT NOT NULL PRIMARY KEY,
"userId" TEXT NOT NULL,
"status" TEXT NOT NULL DEFAULT 'active',
"polarSubId" TEXT,
"currentPeriodStart" DATETIME NOT NULL,
"currentPeriodEnd" DATETIME NOT NULL,
"cancelledAt" DATETIME,
"createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
"updatedAt" DATETIME NOT NULL
)EJY3indexsqlite_autoindex_LearnModuleProgress_1LearnModuleProgressP‡QtablePurchasePurchase CREATE TABLE "Purchase" (
"id" TEXT NOT NULL PRIMARY KEY,
"listingId" TEXT NOT NULL,
"buyerId" TEXT NOT NULL,
"sellerId" TEXT NOT NULL,
"packageName" TEXT,
"amountFlh" INTEGER NOT NULL,
"platformFee" INTEGER NOT NULL,
"sellerPayout" INTEGER NOT NULL,
"status" TEXT NOT NULL DEFAULT 'pending',
"messages" TEXT,
"deliveryFiles" TEXT,
"autoConfirmAt" DATETIME,
"createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
"updatedAt" DATETIME NOT NULL,
CONSTRAINT "Purchase_listingId_fkey" FOREIGN KEY ("listingId") REFERENCES "Listing" ("id") ON DELETE RESTRICT ON UPDATE CASCADE,
CONSTRAINT "Purchase_buyerId_fkey" FOREIGN KEY ("buyerId") REFERENCES "User" ("id") ON DELETE RESTRICT ON UPDATE CASCADE,
CONSTRAINT "Purchase_sellerId_fkey" FOREIGN KEY ("sellerId") REFERENCES "User" ("id") ON DELETE RESTRICT ON UPDATE CASCADE
)-PAindexsqlite_autoindex_Listing_1ListingW†*OŒ+tableListingListingVCREATE TABLE "Listing" (
"id" TEXT NOT NULL PRIMARY KEY,
"title" TEXT NOT NULL,
"description" TEXT NOT NULL,
"category" TEXT NOT NULL,
"subcategory" TEXT,
"priceFlh" INTEGER NOT NULL,
"packages" TEXT,
"tags" TEXT,
"images" TEXT,
"deliveryDays" INTEGER,
"rating" REAL NOT NULL DEFAULT 0,
"reviewCount" INTEGER NOT NULL DEFAULT 0,
"salesCount" INTEGER NOT NULL DEFAULT 0,
"sellerId" TEXT NOT NULL,
"status" TEXT NOT NULL DEFAULT 'active',
"featured" BOOLEAN NOT NULL DEFAULT false,
"featuredUntil" DATETIME,
"fileType" TEXT,
"createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
CONSTRAINT "Listing_sellerId_fkey" FOREIGN KEY ("sellerId") REFERENCES "User" ("id") ON DELETE RESTRICT ON UPDATE CASCADE
)?NS-indexsqlite_autoindex_LearnCertificate_1LearnCertificateT…M--‰gtableLearnCertificateLearnCertificateSCREATE TABLE "LearnCertificate" (
"id" TEXT NOT NULL PRIMARY KEY,
"serialNumber" TEXT NOT NULL,
"userId" TEXT NOT NULL,
"userName" TEXT NOT NULL,
"courseId" TEXT NOT NULL,
"moduleCount" INTEGER NOT NULL DEFAULT 0,
"score" REAL,
"pdfPath" TEXT,
"issuedAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
"viewedAt" DATETIME,
"revoked" BOOLEAN NOT NULL DEFAULT false,
"revokedAt" DATETIME,
"hashOnChain" TEXT,
"metadata" TEXT,
CONSTRAINT "LearnCertificate_courseId_fkey" FOREIGN KEY ("courseId") REFERENCES "LearnCourse" ("id") ON DELETE RESTRICT ON UPDATE CASCADE
)ALU/indexsqlite_autoindex_LearnSubscription_1LearnSubscriptionR


ŽÁ玨Ó7sadaqah-and-community5waqf-endowment-guide'fiqh-of-salah+zakat-made-easy7 intro-islamic-finance
 *¨xKÖï`Á
o.
;
Ì
ÿ
¹ ä
 * Z /?/cmqxjprqz000ksfs5cgfzatexmaximizing-impact.?-cmqxjprqz000ksfs5cgfzatextypes-of-sadaqah/?/cmqxjprqz000ksfs5cgfzatexvirtue-of-sadaqah*?%cmqxjprqj000jsfs5fdd0zs7ydigital-waqf+?'cmqxjprqj000jsfs5fdd0zs7ytypes-of-waqf*?%cmqxjprqj000jsfs5fdd0zs7ywhat-is-waqf3?7cmqxjprq2000isfs55hxnyp7wcongregational-prayer-?+cmqxjprq2000isfs55hxnyp7wcommon-mistakes.?-cmqxjprq2000isfs55hxnyp7wsunnah-practices
2?5cmqxjprq2000isfs55hxnyp7wobligations-of-salah .?-cmqxjprq2000isfs55hxnyp7wpillars-of-salah 1?3cmqxjprq2000isfs55hxnyp7wconditions-of-salah
0?1cmqxjprpo000hsfs5x3oivue8distributing-zakat /?/cmqxjprpo000hsfs5x3oivue8zakat-calculation-?+cmqxjprpo000hsfs5x3oivue8types-of-wealth/?/cmqxjprpo000hsfs5x3oivue8calculating-nisab+?'cmqxjprpo000hsfs5x3oivue8what-is-zakat,?)cmqxjprpa000gsfs5ppd2sj9vmodern-fintech/?/cmqxjprpa000gsfs5ppd2sj9vislamic-contracts-?+cmqxjprpa000gsfs5ppd2sj9vhalal-investing)?% cmqxjprpa000gsfs5ppd2sj9vwhat-is-riba
kãŧk?cmqxebir10001cgrv4lr70fap?cmqxebir10001cgrv4lr70fap?cmqxebir10001cgrv4lr70fap?cmqxebir10001cgrv4lr70fap? cmqxebir10001cgrv4lr70fap
éÉY!é7??cmqxebir10001cgrv4lr70fapcmqxjprqz000ksfs5cgfzatex7??cmqxebir10001cgrv4lr70fapcmqxjprqj000jsfs5fdd0zs7y7??cmqxebir10001cgrv4lr70fapcmqxjprq2000isfs55hxnyp7w7??cmqxebir10001cgrv4lr70fapcmqxjprpo000hsfs5x3oivue86?? cmqxebir10001cgrv4lr70fapcmqxjprpa000gsfs5ppd2sj9v





ô
k Í 6± `U-KindexLearnCertificate_courseId_userId_idxLearnCertificatedCREATE INDEX "LearnCertificate_courseId_userId_idx" ON "LearnCertificate"("courseId", "userId")_C-!indexLearnCertificate_userId_idxLearnCertificatecCREATE INDEX "LearnCertificate_userId_idx" ON "LearnCertificate"("userId")^O-9indexLearnCertificate_serialNumber_idxLearnCertificatebCREATE INDEX "LearnCertificate_serialNumber_idx" ON "LearnCertificate"("serialNumber")]O-GindexLearnCertificate_serialNumber_keyLearnCertificate`CREATE UNIQUE INDEX "LearnCertificate_serialNumber_key" ON "LearnCertificate"("serialNumber")\E/%indexLearnSubscription_status_idxLearnSubscription_CREATE INDEX "LearnSubscription_status_idx" ON "LearnSubscription"("status")[E/%indexLearnSubscription_userId_idxLearnSubscription^CREATE INDEX "LearnSubscription_userId_idx" ON "LearnSubscription"("userId")ZM/CindexLearnSubscription_polarSubId_keyLearnSubscription]CREATE UNIQUE INDEX "LearnSubscription_polarSubId_key" ON "LearnSubscription"("polarSubId")EYg3}indexLearnModuleProgress_enrollmentId_moduleId_keyLearnModuleProgress\CREATE UNIQUE INDEX "LearnModuleProgress_enrollmentId_moduleId_key" ON "LearnModuleProgress"("enrollmentId", "moduleId")#XS+UindexLearnEnrollment_userId_courseId_keyLearnEnrollment[CREATE UNIQUE INDEX "LearnEnrollment_userId_courseId_key" ON "LearnEnrollment"("userId", "courseId")~WA+indexLearnEnrollment_userId_idxLearnEnrollmentZCREATE INDEX "LearnEnrollment_userId_idx" ON "LearnEnrollment"("userId")
VG#=indexLearnModule_courseId_slug_keyLearnModuleYCREATE UNIQUE INDEX "LearnModule_courseId_slug_key" ON "LearnModule"("courseId", "slug")oU5#indexLearnCourse_slug_keyLearnCourseXCREATE UNIQUE INDEX "LearnCourse_slug_key" ON "LearnCourse"("slug")`T3indexReview_sellerId_idxReviewCREATE INDEX "Review_sellerId_idx" ON "Review"("sellerId")cS5indexReview_listingId_idxReviewCREATE INDEX "Review_listingId_idx" ON "Review"("listingId")/RCindexsqlite_autoindex_Purchase_1Purchase



ƒ
~ ÒTÂÊjc
??33)Ocmqxjpruk0014sfs5cufajp70cmqxjprq2000isfs55hxnyp7wConditions of Salahconditions-of-salahSalah has 9 preconditions including purity, facing qibla, and proper covering.# Conditions of Salah
Salah has 9 preconditions including purity, facing qibla, and proper covering.
<!-- Full lesson content to be added in future updates -->Ÿ
i<Ÿ
i<] ??;1Icmqxjpru60012sfs528vp4mntcmqxjprpo000hsfs5x3oivue8Distributing Your Zakatdistributing-zakatZakat must be given to 8 eligible categories, prioritizing local needs.# Distributing Your Zakat
Zakat must be given to 8 eligible categories, prioritizing local needs.
<!-- Full lesson content to be added in future updates -->Ÿ
i/Ÿ
i/P??9/=cmqxjprtx0010sfs526tln6locmqxjprpo000hsfs5x3oivue8Calculating Your Zakatzakat-calculationZakat is 2.5% of qualifying wealth held for one lunar year (hawl).# Calculating Your Zakat
Zakat is 2.5% of qualifying wealth held for one lunar year (hawl).