Javis OS
Javis OS is an Agentic AI that assists entrepreneurs in business tasks, helping them grow their work.
AI translation
Sponsor a child in Gaza through MyFundAction. Verified updates, transparent support delivery, delivered in partnership with our field partner.
Translation pending
BusinessTypeScript · CSSGitHub @ameera-gifOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Loading the full README. The saved excerpt is shown below.
A child sponsorship platform for MyFundAction's Gaza programme: a public sponsorship website plus a secure
three-role portal (Sponsor, Ufuk field team, MyFundAction Project Coordinator) and an Admin area, built around the
core workflow:
See ARCHITECTURE.md for the full architecture proposal (sitemaps, role-permission matrix,
database design, privacy/safeguarding controls, and the scoping decisions made for this build).
All data in this project is fictional demo data — no real child, sponsor, or field-partner information is used
anywhere.Read the full README ↗A child sponsorship platform for MyFundAction's Gaza programme: a public sponsorship website plus a secure three-role portal (Sponsor, Ufuk field team, MyFundAction Project Coordinator) and an Admin area, built around the core workflow:
Ufuk updates → Ufuk submits → MyFundAction reviews → MyFundAction approves/publishes → Sponsor receives update
See ARCHITECTURE.md for the full architecture proposal (sitemaps, role-permission matrix, database design, privacy/safeguarding controls, and the scoping decisions made for this build).
All data in this project is fictional demo data — no real child, sponsor, or field-partner information is used anywhere.
src/lib/i18n.env.example to .env and fill in DATABASE_URL (and generate a real AUTH_SECRET — see the comment
in the file).npm install # also runs `prisma generate` via postinstall
npx prisma migrate deploy # creates all tables from prisma/migrations
npm run db:seed # seeds fictional demo data
npm run dev
Open http://localhost:3000.
To reset the database and reseed from scratch:
npm run db:reset
DATABASE_URL (a Postgres connection string — Neon
or Vercel Postgres both work), AUTH_SECRET (a real generated secret, not the dev placeholder), and
NEXTAUTH_URL (your deployed URL, e.g. https://your-project.vercel.app).prisma migrate deploy && next build) applies all migrations to your database
automatically on every deploy — no manual migration step needed once the env vars above are set.DATABASE_URL="<your production connection string>" npm run db:seed
(PowerShell: $env:DATABASE_URL="<connection string>"; npm run db:seed)"Redeploy" redeploys that exact commit, not necessarily the latest one. If you click ⋯ → Redeploy from an
older deployment in the list, Vercel rebuilds that deployment's commit — pushing new code afterward does not
retroactively change what it built. If a fix doesn't seem to take effect after redeploying, check the build log's
Cloning ... (Commit: ...) line against git log locally to confirm you're actually redeploying the latest
commit, not an old one. The reliable way to deploy the latest code is a fresh git push to main, which
triggers a new deployment from the current branch tip automatically.
Middleware and the Edge Function size limit. middleware.ts runs on Vercel's Edge Runtime (1MB bundle
limit). Anything it imports — even transitively — counts against that limit. In particular, never let
middleware.ts (directly or via another module it imports) pull in src/auth.ts, since that wires up the
Credentials provider and drags in Prisma Client + bcrypt, which alone exceed 1MB. Middleware should only ever
import from src/auth.config.ts (the provider-free session/JWT config) and src/lib/role-routes.ts — see the
comments in those files.
Uploaded files (Ufuk's report photos, distribution evidence, media) currently save to local disk
(src/lib/storage.ts), which — like SQLite — does not persist on Vercel's serverless functions. Uploads will
appear to succeed but won't be retrievable afterward. This wasn't addressed in this pass since it wasn't blocking
the reported error; swapping in real object storage (Vercel Blob, S3, etc.) is a contained change to that one
file whenever you're ready for it.
All demo accounts share the password Passw0rd!.
| Role | |
|---|---|
| Sponsor | [email protected] |
| Sponsor | [email protected] |
| Ufuk field team | [email protected] |
| MyFundAction PC | [email protected] |
| MyFundAction PC | [email protected] |
| Admin | [email protected] |
Sign in at /login — each role lands on its own portal home automatically.
src/app/(public)/ Public marketing + sponsorship site (home, directory, child profile, how-it-works, etc.)
src/app/portal/ Sponsor portal
src/app/implementer/ Ufuk field portal
src/app/management/ MyFundAction Project Coordinator portal (incl. the Review Centre)
src/app/admin/ Admin (users/roles, programme settings)
src/app/api/ NextAuth route, authenticated file serving, upload endpoint
src/lib/services/ Domain logic — sponsorship lifecycle, report workflow, distribution workflow,
media approval, meetings, messages, notifications, audit log
src/lib/mappers/child.ts Privacy boundary — the only sanctioned way to turn a Child row into public/sponsor-facing data
src/lib/rbac.ts Server-side role guards (requireRole/requireSession) used by every action & route handler
src/middleware.ts Route-group gate (redirects unauthenticated/wrong-role users)
src/components/ui/ Shared design-system primitives
prisma/schema.prisma Full data model
prisma/seed.ts Fictional demo data generator
PUBLISHED reports.src/lib/services/audit.ts).See ARCHITECTURE.md §17 for the full reasoning. In short: SQLite instead of Postgres (no local DB service available), a stub payment confirmation instead of a real gateway, a manual meeting-link field instead of live Google Meet/Zoom API integration, and partial (not full-page) Malay/Arabic translation coverage. All of these are called out as Phase 2 items in the original brief.