Blessing Computers

FUNSHO CORNELIUS OLUSUMBO
Published

0
  • Project creator

BLESSING COMPUTERS FRONTEND

Official frontend repository for Blessing Computers, a high-performance
e-commerce and inventory management platform built with Next.js.

TECH STACK
Framework: Next.js 16 (App Router)
Language: TypeScript
Styling: Tailwind CSS + Shadcn UI
State: React Query (TanStack Query)
API: Native fetch via a dedicated service layer (src/services)
Icons: Iconify (Solar icon set)
Notifications: React Hot Toast

PROJECT STRUCTURE
Note: the codebase is migrating to a vertical-slice architecture. See
docs/restructure.md for the target structure and migration status. The
layout below reflects the current (legacy) state.
/src/app Application routes and layouts
/src/components UI components (feature-based and shared)
/src/hooks Custom React hooks, including query abstractions
/src/lib Internal libraries and API services
/src/providers App-wide context providers (Auth, Query)

DOCUMENTATION
Strict documentation standards apply to all features, routes and
services. Technical docs live in /docs:
docs/features/admin-product-management.md Feature overview
docs/routes.md Routes
docs/api.md API reference
docs/components/products-tab.md Components
docs/hooks/use-products.md Custom hooks
docs/data-fetching.md Data fetching strategy
docs/changelog.md Changelog

DEVELOPMENT

  1. npm install Install dependencies
  2. npm run dev Run development server
  3. npm run build Build for production

DEPLOYMENT
The app is deployed to the production server (PM2 process nextjs-app)
over SSH. Deploy scripts live in scripts/deployment/ - a Bash version
(deploy.sh) and a Windows PowerShell version (deploy.ps1). Each script
builds locally, archives the output, uploads it, then reinstalls and
restarts on the server.

npm run deploy / npm run deploy:win
Windows - scripts/deployment/deploy.ps1 (uses tar)
npm run deploy:mac
macOS / Linux - scripts/deployment/deploy.sh (uses zip)

Prerequisites

  • SSH access to the server with key-based auth set up for your machine.
    Without a registered key, scp/ssh prompts for the server password at
    every step. To add a key from a new machine:
    ssh-keygen -t ed25519
    ssh-copy-id blessin7@<server-host>
    (or append the .pub file to ~/.ssh/authorized_keys)
  • Windows: built-in OpenSSH client and tar (both ship with Win 10/11).
  • macOS/Linux: zip, scp and ssh available on PATH.

Deploys are run manually and ship whatever is built locally. Run
npm run test and confirm a clean npm run build before deploying.