pivot: migrate V1 mobile from Docker to Netlify serverless

- Switch Prisma schema from SQLite to PostgreSQL
- Add netlify.toml for Netlify deployment config
- Add @netlify/plugin-nextjs for serverless Next.js
- Remove Docker build files (Dockerfile, docker-compose, start.sh)
- Remove auto-healer and scripts directories
- Update next.config.ts (remove standalone output)
- Database: falah_mobile_v1 on Contabo Postgres
This commit is contained in:
2026-06-28 23:02:48 +02:00
parent 5b08f8b041
commit a1c5fecd83
117 changed files with 8619 additions and 2837 deletions
+67
View File
@@ -0,0 +1,67 @@
import { NextResponse } from "next/server";
export const dynamic = "force-static";
const manifest = {
name: "Falah — Islamic Lifestyle",
short_name: "Falah",
description: "Nur AI coaching, Halal marketplace, community & wallet",
start_url: "/mobile",
scope: "/mobile",
display: "standalone",
orientation: "portrait",
background_color: "#0a0a0f",
theme_color: "#0a0a0f",
categories: ["lifestyle", "education", "finance"],
lang: "en",
dir: "ltr",
id: "/mobile/",
icons: [
{ src: "/mobile/icons/icon-48x48.png", sizes: "48x48", type: "image/png" },
{ src: "/mobile/icons/icon-72x72.png", sizes: "72x72", type: "image/png" },
{ src: "/mobile/icons/icon-96x96.png", sizes: "96x96", type: "image/png" },
{ src: "/mobile/icons/icon-128x128.png", sizes: "128x128", type: "image/png" },
{ src: "/mobile/icons/icon-144x144.png", sizes: "144x144", type: "image/png" },
{ src: "/mobile/icons/icon-152x152.png", sizes: "152x152", type: "image/png" },
{ src: "/mobile/icons/icon-192x192.png", sizes: "192x192", type: "image/png" },
{ src: "/mobile/icons/icon-384x384.png", sizes: "384x384", type: "image/png" },
{ src: "/mobile/icons/icon-512x512.png", sizes: "512x512", type: "image/png" },
{
src: "/mobile/icons/icon-192x192.png",
sizes: "192x192",
type: "image/png",
purpose: "maskable",
},
{
src: "/mobile/icons/icon-512x512.png",
sizes: "512x512",
type: "image/png",
purpose: "maskable",
},
],
screenshots: [],
shortcuts: [
{
name: "Nur AI Coach",
short_name: "Nur AI",
description: "Open AI coaching assistant",
url: "/mobile/nur",
},
{
name: "Halal Market",
short_name: "Market",
description: "Browse halal marketplace",
url: "/mobile/market",
},
{
name: "Wallet",
short_name: "Wallet",
description: "Falah wallet & payments",
url: "/mobile/wallet",
},
],
};
export async function GET() {
return NextResponse.json(manifest);
}