Skip to content

Initial multi-language platform scaffold for AIABASD/AIBA — auth, data models, APIs, and seed data#1

Merged
zexc66 merged 12 commits into
mainfrom
cosine/feat/initial-project-scaffold
Nov 20, 2025
Merged

Initial multi-language platform scaffold for AIABASD/AIBA — auth, data models, APIs, and seed data#1
zexc66 merged 12 commits into
mainfrom
cosine/feat/initial-project-scaffold

Conversation

@zexc66

@zexc66 zexc66 commented Nov 20, 2025

Copy link
Copy Markdown
Owner

This PR establishes the production-ready scaffold for the AIABASD/AIBA platform with multi-language support (Arabic, English, French) and a strong backend/frontend foundation. Key additions and changes:

  • Frontend & Localization

    • Next.js 15 App Router app with locale routing for ar/en/fr, RTL support for Arabic, and a responsive Tailwind setup.
    • Basic UI/structure scaffolding and routing groundwork to support pages like opportunities, projects, funding, news, investor portal, etc.
    • i18n: locale config and routing scaffolding to support multilingual content and locale-based metadata generation.
  • Backend & Data Model (Prisma)

    • Prisma schema with core models: Opportunity, Partner, CountryProfile, NewsPost, InvestorIntent, ContactInquiry, and related fields aligned to MVP requirements.
    • Seed script to populate initial data: 6 opportunities across sectors, 3 partners, 3 country profiles, 3 news posts.
    • Prisma migrations and seed workflow wired up for quick startup.
  • API Layer & Serverless Routes

    • Health check: /api/health
    • Opportunities API: /api/opportunities with filtering and text search (Meili/Prisma fallback).
    • Investor intent: /api/investor/intent to create intent, with LOI PDF URL generation.
    • LOI PDF: /api/investor/intent/[id]/pdf serving a PDF (via pdf-lib).
    • Contact form: /api/contact with basic field validation, reCAPTCHA v3 hook (with rate limiting) and persistence.
    • Upload presign: /api/uploads/presign for secure media uploads (S3-compatible).
    • Basic auth gate: NextAuth-based authentication with credentials and Google/LinkedIn providers; session-based protection for dashboard routes.
    • Strapi client scaffolding to fetch content from the Strapi CMS layer (optional MVP integration).
  • Security & Middleware

    • Security headers and CSPs via middleware; basic rate limiting for form submissions; simple locale redirection and portal gating.
    • Middleware gates investor dashboard behind authentication and locale routing logic.
  • Data & Search

    • Optional MeiliSearch integration scaffolding for opportunities indexing and fast search; fallback to Prisma queries when not configured.
    • Basic search and filtering support for opportunities by sector, country, stage, and SDGs.
  • Admin & CMS Seeds (Strapi)

    • Strapi content-type scaffolding for opportunities, partners, country profiles, news posts, including SEO fields.
    • Content API client utilities to fetch from Strapi in Next.js app.
  • Analytics, SEO, & Sitemaps

    • SEO helpers with localized metadata generation and JSON-LD helpers, plus sitemap generation scaffolding (sitemap.ts and sitemap.xml route).
    • Basic OpenGraph/Twitter meta scaffolding and JSON-LD payloads.
  • Deployment & DX

    • Dockerless, cloud-ready scaffolding designed for Vercel deployment with environment variable-driven configuration.
    • Seed and seed-run scripts included for quick MVP initialization.

How this solves the MVP goals:

  • Provides multi-language, Africa-focused foundation with Arabic as default RTL language and EN/FR mirrors.
  • Establishes core data models and APIs needed to list projects, funding opportunities, and investor profiles.
  • Enables investor outreach through LOI PDFs and in-platform application workflows.
  • Lays groundwork for Map integration, project discovery, and networking features in future iterations.
  • Sets up testable CI/CD hooks and a scalable architecture for growth.

This pull request was co-created with Cosine Genie

Original Task: blank-project/lh3qxdnzutw3
Author: Ziad Ab

zexc66 and others added 12 commits October 24, 2025 15:39
…ing pages, Supabase clients, middleware, Tailwind & Next configs, package.json, tsconfig, .env.example

Co-authored-by: Genie <genie@cosine.sh>
… investor APIs (LOI PDF + rate-limit), NextAuth, Prisma schema+seed, CI/tests, README, sitemap/robots, env sample

Co-authored-by: Genie <genie@cosine.sh>
…), localized pages, sitemap.xml, SITE_BASE_URL & Meilisearch env, prisma/sanity/seed updates

Co-authored-by: Genie <genie@cosine.sh>
…+ rate-limit), Sanity client, web manifest, and prisma ContactInquiry model

Co-authored-by: Genie <genie@cosine.sh>
…partner, country-profile, news-post, indicator, kpi, seo) + README

Co-authored-by: Genie <genie@cosine.sh>
…nity pages to Strapi APIs

Co-authored-by: Genie <genie@cosine.sh>
…LinkedIn), S3 presign API, opportunities search/sort (Meilisearch), PWA service worker, env & aws-sdk deps

Co-authored-by: Genie <genie@cosine.sh>
…pportunities, partners and footer sections

Co-authored-by: Genie <genie@cosine.sh>
Co-authored-by: Genie <genie@cosine.sh>
…pi/health and /preview in middleware; update dev/start scripts and add dev:alt

Co-authored-by: Genie <genie@cosine.sh>
@zexc66 zexc66 merged commit ead0729 into main Nov 20, 2025
1 check failed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant