How arthawebservices/abyss-holdings works
Abyss Holdings is a corporate website with a public company, services, projects, contact, and locations experience, plus an administrator dashboard for managing that content. Visitors browse the Next.js site or submit a contact message; administrators sign in and manage records through the dashboard and API. Express routes enforce JWT authentication for protected operations and use JSON-file persistence. The README documents the product capabilities; frontend-to-backend wiring is not shown in the excerpts, so those links are marked unverified rather than asserted as observed calls.
Main entry points: index.js Express Server · auth.js JWT Middleware · db.js JSON Database · app Public Pages
Components 20
Public Website
- Public Pages
frontend/app - Site Navigation
frontend/components/Navbar.tsx - Company Context
frontend/components/CompanyContext.tsx - Site Footer
frontend/components/Footer.tsx - Service Display
frontend/components/ServiceCard.tsx
Administration
- Admin Dashboard
frontend/app/administration - Admin Navigation
frontend/components/admin/AdminSidebar.tsx
API and Authentication
- Frontend API Routes
frontend/app/api - API Client
frontend/lib/api.ts - Express Server
backend/src/index.js - Admin Login
backend/src/routes/auth.js - JWT Middleware
backend/src/middleware/auth.js - Company API
backend/src/routes/company.js - Services API
backend/src/routes/services.js - Locations API
backend/src/routes/locations.js - Projects API
backend/src/routes/projects.js - Contact API
backend/src/routes/contact.js
Persistent Data
- JSON Database
backend/src/utils/db.js
Other components
- Visitor
- Administrator
Connections 26
- Visitor → Public Pages: browses
- Administrator → Admin Dashboard: manages content
- Public Pages → Frontend API Routes: requests data
- Admin Dashboard → Frontend API Routes: submits changes
- Frontend API Routes → Express Server: forwards requests
- Public Pages → Site Navigation: renders
- Site Navigation → Company Context: reads company data
frontend/components/Navbar.tsx - Site Navigation → Site Footer: shares site shell
- Public Pages → Service Display: renders services
- Admin Dashboard → Admin Navigation: renders navigation
- Express Server → Admin Login: mounts routes
backend/src/index.js - Express Server → Company API: mounts routes
backend/src/index.js - Express Server → Services API: mounts routes
backend/src/index.js - Express Server → Locations API: mounts routes
backend/src/index.js - Express Server → Projects API: mounts routes
backend/src/index.js - Express Server → Contact API: mounts routes
backend/src/index.js - Company API → JWT Middleware: authenticates updates
backend/src/routes/company.js - Services API → JWT Middleware: authenticates changes
backend/src/routes/services.js - Locations API → JWT Middleware: authenticates changes
backend/src/routes/locations.js - Projects API → JWT Middleware: authenticates changes
backend/src/routes/projects.js - Contact API → JWT Middleware: authenticates admin actions
backend/src/routes/contact.js - Company API → JSON Database: reads and writes
backend/src/routes/company.js - Services API → JSON Database: reads and writes
backend/src/routes/services.js - Locations API → JSON Database: reads and writes
backend/src/routes/locations.js - Projects API → JSON Database: reads and writes
backend/src/routes/projects.js - Contact API → JSON Database: reads and writes
backend/src/routes/contact.js