Commit Graph

17 Commits

Author SHA1 Message Date
Antigravity AI 6850b350f7 fix: repair 20 modules' quiz format and IDs, patch Dockerfile for npm ci inside build 2026-06-28 16:02:38 +08:00
Antigravity AI 53ab375153 feat(learn): add 3 micro-learning courses — Adhkar, 99 Names, Islamic Manners
- 3 new courses with 5 modules each (15 modules, 60 quiz questions)
- Daily Adhkar & Du'as — morning/evening/sleeping/travel remembrances
- 99 Names of Allah (Part 1) — 10 names across 5 modules
- Islamic Manners (Adab) — salam, eating, speaking, mosque, parents
- All modules include TTS audio (edge-tts, en-US-AriaNeural)
- Updated total catalog: 10 courses, 47 modules
2026-06-28 15:11:48 +08:00
wmj2024 eb3a0645df feat(learn): add audio paths for all courses, convert TTS to MP3, fix generator script
- Add audioPath for 3 legacy courses (Basics of Prayer, Understanding Fiqh, Quranic Arabic)
- Convert new course TTS from M4A to MP3 for consistency
- Fix generate-tts-local.js ext replacement bug (works with .mp3 now)
- All 7 courses now have 32 MP3 modules total (~74MB)
- Build passes (0 errors, 0 warnings)
2026-06-28 11:52:37 +08:00
wmj2024 90e0086cf1 feat(learn): add 3 new courses — Ramadan Fasting, Zakat, Hajj & Umrah
- 15 new modules with 2000-3000 char markdown content
- 1 quiz question per module with explanation
- audioPath set to .m4a for all 15 modules (TTS-ready)
- Added local TTS generation script (scripts/generate-tts-local.js)
- Added .gitignore for generated audio files
- Total: 7 courses, 32 modules in seed-learn.json

Note: Audio files are generated locally via generate-tts-local.js.
They are excluded from git (see .gitignore) due to large binary size.
For production MP3s, use Azure/ElevenLabs via Gitea's generate-audio.py.
2026-06-28 11:52:35 +08:00
Antigravity AI 577dcc4fc0 fix: PR review fixes — restore viewport export, revert schema to PostgreSQL, merge 4 courses, strip content frontmatter 2026-06-28 11:52:35 +08:00
wmj2024 81bf6af044 feat(learn): align seed data with Hermes schema and port Gitea content
- Port full markdown lesson content from Gitea (courses/daily-fiqh-beginner)
  into seed-learn.json module content fields
- Fix quizData format: wrap questions in {questions: [...]} object to match
  LessonReaderPage parseQuizData() expectations
- Add quiz explanations from Gitea quiz.json
- Generate TTS audio for all 5 modules using Edge TTS (en-US-AriaNeural)
- Store audio files in public/audio/learn/daily-fiqh-beginner/
- Add audioPath references pointing to /audio/learn/... MP3s

Closes next steps from HERMES_INSTRUCTIONS.md content + audio gap.
2026-06-28 11:52:35 +08:00
wmj2024 fc4ed81e7c fix: align learn schema with existing LearnCourse/LearnModule models
- Remove duplicate Course/Module models (GitHub main already has LearnCourse/LearnModule)
- Add seed-learn.json with Daily Fiqh for Beginners (5 modules)
- Add seed-learn.js using prisma.learnCourse / prisma.learnModule
- Seed includes quizData, keyTakeaway, duration, giteaPath
- Matches existing API routes: /api/learn/courses, /api/learn/tts, /api/learn/progress

TODO:
- Add markdown content to modules (currently content field is null)
- Generate TTS audio files for listen toggle
- Add intermediate/advanced courses
2026-06-28 04:35:08 +08:00
pi-agent de48918acf security: fix critical webhook direct upgrade path, seed auth, CORS Vary header
- Webhook polar/route: block direct ?userId=&tier= upgrades in production (NODE_ENV guard)
- Seed route: require ADMIN_SECRET via x-admin-secret header
- Feedback route: require FEEDBACK_ADMIN_TOKEN env var in production
- CORS middleware: add Vary: Origin header for caching correctness
- MOCK_PAYMENTS: add NODE_ENV production guard
- Wallet top-up: add production guard for mock mode when POLAR_ACCESS_TOKEN unset
2026-06-28 01:15:45 +08:00
root cfff74e2db feat: Souq native integration + auth simplification + CE-wide enhancements
Souq Marketplace:
- Native souq pages: browse+filters, create listing, detail+seller profile, orders+chat
- New API: reviews (POST), sellers/[id], upload (multipart), polar-checkout webhook
- Listings API enhanced: minPrice, maxPrice, sortBy, deliveryDays filters
- Seller workflow: start order, mark delivered, upload files, confirm delivery
- Wallet: 5 Polar.sh FLH tiers, production checkout, mock fallback, success banner
- Fix: order redirect /souq/history → /souq/orders

Auth System:
- Unified auth page, removed OAuth provider routing (2 files deleted)
- Deleted oauth.ts (319 lines) — simplified auth chain
- Streamlined login/register API routes

Prisma Schema (+179 lines):
- New models: Listing, Purchase, Review, Group/GroupMember
- Gamification: DailyStreak, XpTransaction, Achievement, UserLevel
- Learning: LearnCourse/Module/Enrollment/Certificate
- Notifications, Referrals, Dhikr, PremiumBenefits

Deleted legacy code:
- src/app/api/marketplace/* (3 files) — replaced by /api/souq/*
- src/app/api/files/[listingId]/route.ts — replaced by /api/souq/upload
- src/app/api/seller/[sellerId]/route.ts — replaced by /api/souq/sellers/[id]

Infrastructure:
- Dockerfile: standalone output, Prisma runtime migration
- docker-compose.yml: Polar env vars, healthcheck fix
- docker-compose.staging.yml: staging on port 4014
- .gitea/workflows/ci.yml: CI pipeline
2026-06-24 07:02:03 +02:00
root 8849bd5459 feat: real Halal Monitor via Overpass API + user-contributed yellow markers
- Replace hardcoded KL mock data with live OpenStreetMap Overpass API
- Support 15+ major cities worldwide (London, Dubai, Tokyo, NY, etc.)
- Bounding-box queries (faster than radius search)
- HTTP/1.1 fix for Overpass Apache compat
- Nominatim geocoding for city search
- 6-hour file-based cache per grid cell
- 3-mirror Overpass fallback with retry on timeout
- User-contributed places with yellow () markers
- 'Add Place' modal with name/type/address/notes form
- Map tap-to-pin coordinates for new places
- Delete own submissions from detail modal
- Prisma UserPlace model + API routes

Closes: Halal Monitor showing only KL data
2026-06-18 17:51:15 +02:00
root 28be776c84 Add Prayer Reminder, Dhikr Counter, Qibla Finder, Halal Monitor updates
- Prayer reminder: /prayer page with 5 daily times, countdown, alAdhan API
- Dhikr counter: /dhikr page with 3 presets, custom counter, haptics, DB tracking
- Qibla finder: /qibla page with compass SVG, DeviceOrientation, bearing to Kaaba
- Halal Monitor: Leaflet + Google Places, 26 KL markers, geolocation, distance sort
- BottomNav: added clock icon for prayer
- Prisma: schema updates for DhikrSession, DhikrDay, DailyStreak, XpTransaction
- Geo utility module
- Weighted Traefik routing: Contabo 99% / Synology 1% cold standby
2026-06-18 14:51:07 +02:00
root ed34b186f9 Referral page, bug fixes, seed data, persona tiers
- New /refer page with share/copy/stats
- Fixed modal z-index conflicts (z-50 → z-[60]) across forum, groups, souq, halal-monitor
- Seed route: forum categories, marketplace listings, private groups
- Mufti/Daie personas now available in Premium tier
- Fixed referral share link: falahos.my/mobile/auth?ref=CODE
- Fixed client-side persona access check for premium
2026-06-18 09:38:05 +02:00
root d194e295ad feat: 3-click SSO registration - unified /auth page, Google/Apple/GitHub OAuth, email fallback, provider model 2026-06-15 12:42:03 +02:00
root 64ae34e9c9 feat: private forum groups - Group/GroupMember models, group CRUD API, invite codes, private threads, groups UI pages 2026-06-15 12:25:52 +02:00
root 5e73d1d7ad Block 8 complete: streaks, notifications, referrals, premium identity, gamification 2026-06-15 10:32:10 +02:00
root 6423430275 Add Docker deployment + Alpine binary target fix 2026-06-15 09:37:43 +02:00
root 5483dd291e Initial Falah Mobile rebuild — all 7 blocks complete
- Auth system (login/register/profile)
- Nur AI chat with persona system
- Souq marketplace with FLH economy
- Forum community with Shariah moderation
- Wallet & FLH top-up
- Premium/Pro tier upgrade with Polar.sh
- Halal Monitor with map & bookmarks
- Home dashboard with daily verse & streaks
- Health endpoints

Next.js 16.2.7, Prisma v5 SQLite, JWT auth, Tailwind CSS v4
2026-06-15 09:28:22 +02:00