Easy-to-manage touch screens
무료 오픈소스 터치스크린으로 USB 설정 가이드, 드래그‑드롭 편집기, 로컬 제어를 제공하며 Home Assistant용으로 제작되었습니다
TikTok·YouTube·Instagram·Facebook·X 동영상 무워터마크 다운로드·파일 변환·QR·번역·기도시간·날씨·히즈리 달력 제공
منصة ذكية لتحميل الفيديوهات من TikTok وYouTube وInstagram وFacebook وX بدون علامة مائية، مع أدوات تحويل الملفات، QR Code، الترجمة، القبلة، مواقيت الصلاة، الطقس، والتقويم الهجري.
라이프스타일TypeScript · SwiftGitHub @um7171-prog온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Progressive web app for prayer times, Qibla, Mushaf reader, Athkar, AI tools and a smart media downloader.
Built with React 18 + Vite 5 + TypeScript + Tailwind CSS + shadcn/ui, with a Supabase backend and
Capacitor support for publishing to the App Store and Google Play.
• Node.js 18+ (Node 20 LTS recommended)
• npm 9+
• For mobile builds: Xcode 15+ (iOS, macOS only) and/or Android Studio (Android)
The dev server runs at http://localhost:8080.
All variables live in .env (see .env.example):README 전문 보기 ↗Progressive web app for prayer times, Qibla, Mushaf reader, Athkar, AI tools and a smart media downloader. Built with React 18 + Vite 5 + TypeScript + Tailwind CSS + shadcn/ui, with a Supabase backend and Capacitor support for publishing to the App Store and Google Play.
npm install
cp .env.example .env # then fill in your backend values
npm run dev
The dev server runs at http://localhost:8080.
| Script | Description |
|---|---|
npm run dev | Start the Vite dev server (regenerates the sitemap first) |
npm run build | Production build into dist/ |
npm run build:dev | Build with development mode settings |
npm run preview | Serve the production build locally |
npm run lint | Run ESLint |
npm run test | Run the Vitest test suite |
All variables live in .env (see .env.example):
VITE_SUPABASE_URL — backend API URLVITE_SUPABASE_PUBLISHABLE_KEY — public anon key (safe in the client)VITE_SUPABASE_PROJECT_ID — backend project referenceServer-side secrets (AI keys, VAPID push keys, service role key) are never stored in this repo — they are configured as secrets on the backend edge functions.
public/ static assets, manifest.json, sw.js, robots.txt, sitemap.xml
scripts/ build-time helpers (sitemap generator)
src/
assets/ images and media imported by components
components/ UI + feature components
ai/ AI tool pages (background remover, enhancer, OCR)
islamic/ prayer, qibla, athkar, media, tools
mushaf/ full-screen Quran Mushaf reader
ui/ shadcn/ui primitives
contexts/ Theme, Locale, City, PrayerCalc providers
hooks/ reusable React hooks
integrations/ backend client + generated types
lib/ domain logic (prayer, qibla, athan, mushaf, utils)
pages/ route-level pages
supabase/
functions/ edge functions (push, translate, OCR, media extract)
ios/ native Swift helpers for athan scheduling
capacitor.config.ts
vite.config.ts
tailwind.config.ts
npm run build
npm run preview
Output is a fully static bundle in dist/ — deployable to any static host or CDN.
The project is already Capacitor-ready (capacitor.config.ts, @capacitor/core, ios, android, haptics).
npm install
npm run build
npx cap add ios # first time only
npx cap add android # first time only
npx cap sync # after every web build or native plugin change
npx cap run ios # requires macOS + Xcode
npx cap run android # requires Android Studio
Before shipping to the stores, remove the live-reload block from capacitor.config.ts so the app
loads the bundled dist/ build instead of the remote preview URL:
// delete or comment out for store builds
server: {
url: 'https://...lovableproject.com?forceHideBadge=true',
cleartext: true,
},
Then set your own appId (reverse-domain, e.g. com.techsnds.islamicelite) and appName,
run npm run build && npx cap sync, and archive from Xcode / Android Studio.
Edge functions in supabase/functions/ handle push notifications, translation, OCR and media
extraction. Deploy them to your own Supabase project and set the matching secrets
(LOVABLE_API_KEY or your AI provider key, VAPID_PUBLIC_KEY, VAPID_PRIVATE_KEY).
The app degrades gracefully when they are not deployed — prayer times, Qibla, Mushaf and the
client-side AI tools all work offline of the backend.
send-prayer-pushes is meant to be triggered only by your scheduled job (pg_cron / Supabase
Cron), never by a public caller. It requires:
CRON_SECRET (supabase secrets set CRON_SECRET=<your-value>).
Never commit its value — this repo only documents the variable name.x-cron-secret: <same value>.Wherever the cron job itself is defined (Supabase Dashboard → Database → Cron Jobs, or a
cron.schedule(...) / pg_net.http_post call), add that header to its request — otherwise the
function will reject every call, including the legitimate scheduled one, with 401.
Private project. All rights reserved.