GospelChannel Church Finder

السجل الرسمي الخرائط والسفر والطقس

Find a Christian church by worship style, denomination, language, and location. Read-only.

التثبيت

أضف هذا إلى إعدادات MCP في عميلك (Claude Desktop: claude_desktop_config.json، وCursor: ‏.cursor/mcp.json، ويستخدم VS Code وغيره الصيغة نفسها «mcpServers»).

Remote (streamable-http)
Claude Code
claude mcp add --transport http gospelchannel-church-finder 'https://gospelchannel.com/mcp'
إعداد JSON (Claude Desktop وCursor وVS Code)
{
    "mcpServers": {
        "gospelchannel-church-finder": {
            "type": "http",
            "url": "https://gospelchannel.com/mcp"
        }
    }
}

التوثيق

مأخوذ من ملف README للمشروع على GitHub ويُحدَّث أسبوعيًا. تفتح الروابط على GitHub.

المحتويات
  1. GospelChannel — The Church Guide
  2. Status
  3. What the app does
  4. Stack
  5. Local setup
  6. Database (Neon)
  7. Environment variables
  8. Contributing
  9. Security
  10. Deployment
  11. Project notes
  12. License

GospelChannel — The Church Guide

Find the right church before your first visit.

Free global church guide with worship-aware profiles, built with Next.js 16, OpenNext on Cloudflare Workers, Neon, Spotify, and YouTube.

Solo-maintained project, and my first open source project. This repository is public so people can report bugs, suggest improvements, and send small focused pull requests. I am still learning the open source side of things, so patience and clarity help a lot.

Status

  • Production site: https://gospelchannel.com
  • Contributor language: English or Swedish is fine
  • Project direction is maintainer-led

What the app does

  • Find and compare churches by location, tradition, language, worship style, and service details
  • Browse curated worship and gospel music connected to church profiles
  • Explore church pages with Spotify embeds and YouTube video grids
  • Submit church suggestions and ownership claims
  • Run scheduled content refresh jobs
  • Generate SEO assets such as sitemap.xml, robots.txt, and structured data

Stack

  • Next.js 16 (App Router)
  • OpenNext + Cloudflare Workers
  • Neon Postgres + Drizzle
  • Better Auth
  • Spotify Web API
  • YouTube Data API
  • Cloudflare R2 for media
  • PostHog for analytics

Local setup

Prerequisites:

  • Node 22.x
  • npm

If you use nvm, run:

nvm use

Install and start:

pnpm install
cp .env.example .env.local
pnpm dev

Helpful commands:

pnpm lint
pnpm build
pnpm smoke
pnpm check:env

Database (Neon)

This project uses Neon serverless Postgres with Drizzle ORM.

  1. Create a free project at neon.tech
  2. Copy the connection strings into .env.local:
    • DATABASE_URL - pooled connection string
    • DATABASE_URL_UNPOOLED - direct connection (used by Drizzle migrations)
  3. Run migrations:
     npx drizzle-kit push

Environment variables

You do not need every external integration to read the code or work on docs and UI.

Typical local development:

  • NEXT_PUBLIC_SITE_URL
  • NEXT_PUBLIC_MEDIA_BASE_URL
  • BETTER_AUTH_URL
  • BETTER_AUTH_SECRET
  • DATABASE_URL

Needed for specific integrations and production-like flows:

  • YOUTUBE_API_KEY
  • SPOTIFY_CLIENT_ID
  • SPOTIFY_CLIENT_SECRET
  • APIFY_TOKEN
  • ANTHROPIC_API_KEY
  • BREVO_API_KEY
  • CRON_SECRET

Admin access is database-backed. Promote an account to admin with:

pnpm db:seed -- --emails=you@example.com

Notes:

  • pnpm build uses offline mode for the content pipeline.
  • Full admin, mail, sync, and deployment flows need real service credentials.
  • Keep secrets in .env.local. Do not commit them.

Contributing

Ideas, bug reports, and small PRs are welcome.

If you want to help, the easiest path is:

  • open an issue
  • keep the idea or fix small
  • explain the problem in plain language

Best ways to help:

  • Open an issue for bugs or feature ideas
  • Send focused PRs that solve one problem at a time
  • Include screenshots when changing UI
  • Update docs if behavior changes

See CONTRIBUTING.md for the short version of how this repo is run.

Security

Please do not post security issues publicly. See SECURITY.md.

Deployment

The production app is deployed on Cloudflare Workers via OpenNext. Contributors usually do not need deployment access.

Maintainer deploy command:

pnpm deploy

Project notes

  • Spotify can require Extended Quota Mode for some external playlist access.
  • The app has manual data fallbacks in src/data/manual/ for cases where API data is limited or unavailable.

License

MIT. See LICENSE.

الأسئلة الشائعة

ما هو GospelChannel Church Finder؟

Find a Christian church by worship style, denomination, language, and location. Read-only.

كيف أثبّت GospelChannel Church Finder؟

يعمل كخادم بعيد. في Claude Code: claude mcp add --transport http gospelchannel-church-finder 'https://gospelchannel.com/mcp'. وفي العملاء الآخرين، الصق إعداد JSON من هذه الصفحة في إعدادات MCP الخاصة بهم.

هل يحتاج GospelChannel Church Finder إلى مفتاح API؟

لا يذكر إدراجه في السجل أي مفتاح أو سر إلزامي. قد تتطلب بعض الميزات حسابًا لدى الخدمة التي يتصل بها.

هل GospelChannel Church Finder مفتوح المصدر؟

نعم. شيفرته متاحة على GitHub بترخيص MIT.

من يصون GospelChannel Church Finder؟

ينشره Ac0AI. يدرجه AI.tn لكنه لا يصونه ولا يوصي به.

من سجل MCP الرسمي. الإدراج ليس توصية: راجع شيفرة الخادم وصلاحياته قبل منحه الوصول إلى بياناتك.