Fujimod
Try your camera firmware in the browser and build Fujimod SD boot files.
CARE Project rescues, fosters, and rehomes stray dogs across Cyprus. Meet adoptable dogs, read rescue stories, and help us support animal welfare.
Translation pending
LifestyleTypeScript · CSSGitHub @careproject-cyOnlineOwner 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
Open-source dog adoption website for animal rescues, powering careproject.cy. Next.js 16, Payload CMS 3, Postgres and VaneUI. Fork it for your rescue.
Taken from the repository README
Loading the full README.
Read the full README ↗A 100% volunteer-run dog rescue platform helping stray and shelter-bound dogs across Cyprus find loving homes.
careproject.cy | UANA Foundation
CARE Project is the adoption platform for UANA Foundation, a registered nonprofit in Cyprus. We rescue stray dogs, cover their veterinary care, rehabilitate and socialize them, and coordinate adoptions locally and internationally to the UK, Germany, and the Netherlands.
100% volunteer. No paid staff. Every euro goes to the animals.
Every rescue organization deserves a modern adoption platform. Most operate through social media DMs and spreadsheets. We built this site for CARE Project and are open-sourcing it so any animal rescue can fork it, add their animals, and deploy for free.
/admin)git clone https://github.com/careproject-cy/platform.git
cd platform
npm install
Copy .env.example to .env and fill in a Postgres connection string and a Payload secret. Without
S3_BUCKET set, image uploads fall back to local disk, which is fine for development.
cp .env.example .env
npm run migrate
Running your own instance needs a Postgres database (Neon's free tier is enough) and, for uploaded
images, an S3 bucket. Set S3_PUBLIC_BASE_URL to the public URL your images are served from (e.g. a
CloudFront or bucket URL) and next/image will allow that host automatically. DATABASE_URL is
required at build time, not just at runtime, because pages are prerendered.
npm run dev
Open http://localhost:3000 in your browser. The admin panel is at /admin - the first visit prompts you to create an admin account.
Dog profiles and blog posts are managed in the CMS at /admin and publish without a deploy. Their body
text is Markdown, rendered through Markdoc. Static pages remain Markdown files in data/pages/.
The legacy Markdown in data/dogs/ and data/blog/ is kept as the migration source; import it once with:
npm run import-content
Builds do not run database migrations. Schema changes are applied deliberately, so that a preview build of an unmerged branch can never alter the production database and a rolled-back deploy never leaves an un-rolled-back schema behind.
When a change adds or alters a collection field:
npm run migrate:create <name> # generate the migration, commit it
npm run migrate # apply it locally
Then, before merging to main, apply it to production with DATABASE_URL pointing at the production
database, and confirm with npm run migrate:status that every migration reads Ran: Yes. Deploy after
that, never before - the new code expects the new schema.
Migrations read .env (not .env.local), because that is what the Payload CLI loads.
.github/workflows/db-backup.yml runs pg_dump daily (03:00 UTC) and uploads a gzipped dump to S3,
keeping 30 days. A dump contains password hashes and all content, so it must not go in the media
bucket - that bucket is served publicly through CloudFront. Use a separate private bucket:
s3:PutObject, s3:GetObject, s3:DeleteObject, s3:ListBucket on
that bucket only.BACKUP_DATABASE_URL (Neon's unpooled connection string), BACKUP_S3_BUCKET, BACKUP_S3_REGION,
BACKUP_S3_ACCESS_KEY_ID, BACKUP_S3_SECRET_ACCESS_KEY.Run it on demand from the Actions tab ("Run workflow"). Restore with
gunzip -c dump.sql.gz | psql "$DATABASE_URL" against a fresh database.
npm run build
platform/
app/
(frontend)/ # The public website
blog/ # Blog pages
dogs/ # Dog profile pages
more/ # Static pages (adopt, foster, donate, etc.)
(payload)/ # CMS admin panel and REST API
components/ # React components (header, footer, dog cards, etc.)
data/ # Constants and data fetching utilities
collections/ # Payload collections (dogs, posts, media, users)
payload.config.ts # CMS configuration
data/
dogs/ # Legacy dog Markdown, kept as the migration source
blog/ # Legacy blog Markdown, kept as the migration source
pages/ # Static page content as Markdown
public/ # Static assets (logos, images)
lib/ # Content import and generation scripts
CARE Project operates under UANA Foundation, a registered Cyprus nonprofit (HE 442538) that supports animal rescuers across the island. UANA also runs:
Contact: [email protected]
We welcome contributions! Whether you're a developer, designer, or animal welfare advocate:
git checkout -b feature/your-feature)npm run lint && npm run typecheck)git push origin feature/your-feature)