Internal · Flow Map

Devya Solutions — System of Apps

How the marketing site, admin dashboard, booking app, and backend API fit together. Who logs in where, what each app does, and where the data lives.

Admin Access

Sign-in credentials

For the marketing team and ops admins. Keep these private.

Open dashboard
URL
https://admin.devya-solutions.com
Email
admin@devya-solutions.com
Password
5BBQvTAr94BDNDZsH2eE
Local dev
https://admin.localhost

Behind portless; same creds.

Lost the password? Re-run docker exec devya-backend node dist/seed.js with a new SEED_ADMIN_PASSWORD on the VPS.

The four apps

System map

Users → apps → platform → storage. Solid arrows are real-time requests, dashed are cached.

Who does what

Marketing Team

  • Sign in to admin dashboard
  • Edit Hero, Services, Reasons, Testimonials, Partners, Achievements, Awards
  • Add / publish Projects & Industries
  • Write Blog posts
  • Upload images (auto-pushed to Cloudflare Images)

Ops Admin

  • Same login as marketing team (role ADMIN)
  • Review incoming bookings on /bookings
  • Confirm / cancel / annotate booking entries
  • Monitor contact-form submissions
  • Rotate credentials via SEED_ADMIN_PASSWORD on VPS

Marketing flow — publishing content

From sign-in to a new project appearing on www.devya.dev (typically < 60s via ISR).

Booking flow — customer to admin

Customer books on the public booking app; admin reviews and confirms inside the dashboard.

Where the data lives

Postgres (VPS)

Volume devya-postgres-data on the Hostinger VPS. Holds Users, Bookings, and all CMS entities (Projects, Industries, BlogPost, Services, Hero, etc.).

prisma schema lives in backend repo

Cloudflare Images

All uploads from the admin dashboard go to the Cloudflare account; URLs are stored as plain strings in Postgres. Delivery via imagedelivery.net/<hash>/<id>/public.

env: CLOUDFLARE_ACCOUNT_ID · CLOUDFLARE_API_TOKEN · CLOUDFLARE_IMAGES_ACCOUNT_HASH