Blessing Computers
FUNSHO CORNELIUS OLUSUMBO
Published
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
- npm install Install dependencies
- npm run dev Run development server
- 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.