How extim-org/digitalmarketing works
EXTIM Digital is a public agency website presenting web design, software development, SEO, automation, and AI-assistant services, with portfolio and editorial content supporting discovery. Visitors browse the service and work pages; administrators authenticate to manage blog and portfolio entries and upload images. Blog forms call the content API, which persists records through Prisma; uploads go to Cloudinary. The contact form excerpt shows a simulated success flow rather than a demonstrated message-delivery integration. README documents SEO metadata, dynamic sitemap, structured data, and social-image generation; those capabilities are included, though their detailed wiring was not sampled.
Main entry points: route.ts Credentials auth · prisma.ts Prisma database · blog Blog API · portfolio Portfolio API
Components 23
Public website
- Home and services
src/app/page.tsx - Service offerings
src/app/services - Contact form
src/components/ContactForm.tsx - About page
src/app/about/page.tsx
Editorial and work
- Blog pages
src/app/blog - Portfolio pages
src/app/portfolio
Administration
- Admin pages
src/app/admin - Blog editor
src/components/admin/BlogForm.tsx - Portfolio editor
src/components/admin/PortfolioForm.tsx - Credentials auth
src/app/api/auth/[...nextauth]/route.ts - Admin route guard
src/proxy.ts
Site platform
- Blog API
src/app/api/blog - Portfolio API
src/app/api/portfolio - Image upload API
src/app/api/upload/route.ts - Prisma database
src/lib/prisma.ts - Cloudinary
- SEO and metadata
src/app/layout.tsx - Dynamic sitemap
src/app/sitemap.ts - Crawler rules
src/app/robots.ts - Article social images
src/app/blog/[slug]/opengraph-image.tsx - PWA manifest
src/app/manifest.ts
Other components
- Visitor
- Administrator
Connections 21
- Visitor → Home and services: browses
- Visitor → Service offerings: browses
- Visitor → Blog pages: browses
- Visitor → Portfolio pages: browses
- Visitor → About page: browses
- Visitor → Contact form: opens
- Administrator → Admin pages: uses
- Admin pages → Credentials auth: signs in
- Admin route guard → Admin pages: guards
- Blog editor → Blog API: submits
- Blog editor → Image upload API: uploads
- Portfolio editor → Portfolio API: submits
- Blog API → Credentials auth: checks session
- Portfolio API → Credentials auth: checks session
- Image upload API → Credentials auth: checks session
- Blog API → Prisma database: reads and writes
- Portfolio API → Prisma database: reads and writes
- Credentials auth → Prisma database: reads users
- Image upload API → Cloudinary: uploads files
- Blog pages → Article social images: generates images
- Dynamic sitemap → Prisma database: reads content