# Gishen Admin Console Internal ops console for Gishen Pharmacy — Pharmacist, Stock, Procurement, Finance, Marketing, Operations/Dispatch, Super Admin. Built as a React (Vite) SPA with **shadcn/ui**, Gishen branding, and **English / Amharic** i18n. ## Stack - React 19 + Vite + TypeScript - Tailwind + shadcn-style Radix components - Zustand, React Router, Axios-ready, Recharts, Sonner - i18next (en / am) - Mocks by default (`VITE_USE_MOCKS=true`) ## Quick start ```bash npm install npm run dev ``` Demo password for all accounts: `demo123` | Email | Role | | --- | --- | | admin@gishen.et | Super Admin | | pharmacist@gishen.et | Pharmacist (Bole branch) | | stock@gishen.et | Stock Manager | | procurement@gishen.et | Procurement | | finance@gishen.et | Finance | | marketing@gishen.et | Marketing Manager | | ops@gishen.et | Operations | ## Navigation registry `src/config/navigation.ts` is the single source of truth for every navigable page and quick action. The sidebar and the topbar command palette (**⌘K / Ctrl+K**) both read from it, and results are filtered by the signed-in role. **Adding a page? Register it there** alongside its route in `src/app/AppRoutes.tsx` — otherwise it will not show up in the sidebar or in search. ## Docs - **Cross-app master:** [`docs/GISHEN-MASTER-SPEC.md`](docs/GISHEN-MASTER-SPEC.md) — Admin / Mob / Ecom / B2B surface map, shared domain objects, auth providers, divergence notes. **Refresh before `git push`** (Cursor rule + optional `.githooks/pre-push`). - **Admin backend contract:** [`docs/admin-backend-spec.md`](docs/admin-backend-spec.md) — updated whenever Admin modules are finalized. - **Entity schemas:** [`docs/schemas.md`](docs/schemas.md) — platform schema pack (shared + Admin + B2B + Ecom/backend). ```bash # One-time: enable in-repo pre-push reminder for this clone bash scripts/setup-githooks.sh # Manual checklist / staleness check bash scripts/sync-master-spec-reminder.sh ``` ## Deploy - Live: **[https://gishen-admin.vercel.app](https://gishen-admin.vercel.app)** (Vercel project `yaltopiatech/gishen-admin`) - `vercel.json` SPA rewrites for React Router - Build: `npm run build` → `dist` - Git remote: `https://gitea.yaltopia.com/Gishen/Gishen-Admin.git` - Redeploy: `npx vercel --prod --yes --scope yaltopiatech` (Gitea is not auto-linked; use CLI or mirror to GitHub for Git integration) Env: ``` VITE_USE_MOCKS=true VITE_API_BASE_URL= ``` ## Related repos Sibling apps under `Yaltopia Project/` (see master spec Sources stamp): - Gishen-Mob — customer mobile (Expo) - Gishen-Ecom — customer storefront - Gishen-B2B — institutional portal (org self-register UI lives there; Admin creates/approves orgs) - Gishen-Dispatch-Bot — rider Telegram bot