Lexiverse
Lexiverse - AI contextual reading engine for English learners. Your next article is your next review.
翻訳待ち
リポジトリ情報はまだ収集していません。
No updates detected yet. GitHub releases will appear here.
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗Muslimo is an Islamic learning platform with a Duolingo-style path UI and a production-minded backend foundation for web today and Expo/iOS/Android next.
This repo is no longer just a frontend demo plus a JSON file backend.
It now includes:
SIRA_DATABASE_URLSahabi, Prayer, Quran, and moreInstall frontend dependencies:
npm install
Run the Expo app:
npm run start
Run the backend API:
npm run backend
Bootstrap the database from scratch:
npm run backend:bootstrap
Run migrations only:
npm run backend:migrate
Seed catalog content only:
npm run backend:seed
Legacy JSON backend, if you need it temporarily:
npm run backend:legacy
App typecheck and unit tests (XP, streaks, hearts, lesson flow):
npm run typecheck
npm test
Backend API tests (use a throwaway SQLite database):
pip install -r backend/requirements-dev.txt
npm run test:backend
GitHub Actions runs all three on every pull request and on pushes to main.
Local development uses SQLite by default:
To switch to PostgreSQL, set:
SIRA_DATABASE_URL=postgresql+psycopg://user:password@localhost:5432/sira_path
and run:
npm run backend:migrate
Main routes now include:
/api/auth/register/api/auth/login/api/auth/logout/api/session/api/profile/me (DELETE removes the account and its data)/api/topics/api/topics/{topic_slug}/branches/api/branches/{branch_slug}/lessons/api/lessons/{lesson_slug}/api/lessons/{lesson_slug}/completion/api/questions/{question_id}/attempts/api/review-queue/api/subscriptions/plans/api/subscriptions/entitlements/api/subscriptions/sync (blocked in production)/api/subscriptions/revenuecat/webhook/api/analytics/eventsThe content model now supports:
Sahabi branchesPrayer branches including WuduThe current seed data intentionally creates large trees so the app stops behaving like a tiny prototype.
Lessons can also come straight from Obsidian notes: npm run import:notes -- "<vault folder>" turns each note into a branch and each ## heading into a lesson with its questions. See docs/obsidian-import.md.
EXPO_PUBLIC_API_BASE_URL is not set. To ship to the stores, follow docs/release.md.