Đăng nhập vào hệ thống quản lý thiết bị y tế CVMEMS
Translation pending
HealthTypeScript · PLpgSQLGitHub @thienchi2109OnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Loading the full README. The saved excerpt is shown below.
🏥 Hệ thống quản lý thiết bị y tế A comprehensive web application for managing medical equipment, built with modern technologies and designed for healthcare institutions in Vietnam. • Frontend: Next.js 15.3.3, React 18.3.1, TypeScript • Backend: Supabase (PostgreSQL) with custom RPC gateway • Authentication: NextAuth v4 with JWT strategy • UI Framework: Radix UI + TailwindCSS • State Management: TanStack Query (React Query) v5.81.5 • Deployment: VercelRead the full README ↗
Vietnamese Medical Equipment Management System
A comprehensive web application for managing medical equipment, built with modern technologies and designed for healthcare institutions in Vietnam.
This project uses NextAuth v4 for authentication (NOT custom auth context).
authenticate_user_dual_modeglobal - Full system access across all tenantsadmin - Administrative access (legacy compatibility)to_qltb - Equipment management teamtechnician - Technical staff with department restrictionsuser - Basic user accessequipment_tenant_filter).
enabled gating and scoped caching.Create a .env.local file in the root directory:
# Supabase Configuration
NEXT_PUBLIC_SUPABASE_URL=your_supabase_project_url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key
SUPABASE_SERVICE_ROLE_KEY=your_supabase_service_role_key
SUPABASE_JWT_SECRET=your_supabase_jwt_secret
ZBS_INTERNAL_RPC_SECRET=your_dedicated_zbs_internal_rpc_secret
# NextAuth Configuration
AUTH_SECRET=your_nextauth_secret_key
NEXTAUTH_SECRET=your_nextauth_secret_key
AUTH_MIDDLEWARE_ENABLED=true # Non-production only. Ignored in production (route protection always on).
# Optional Feature Flags
NEXT_PUBLIC_AUTH_LEGACY_BRIDGE=false
# Clone the repository
git clone <repository-url>
cd qltbyt-nam-phong
# Install dependencies
npm install
# Apply database migrations
# (Run SQL files in supabase/migrations/ in your Supabase SQL editor)
# Start development server
npm run dev
# Development
npm run dev # Start dev server with Turbopack
npm run dev-https # Start dev server with HTTPS
# Building
npm run build # Standard Next.js build
npm run vercel:build # Build with Vercel CLI
# Production
npm start # Start production server
# Deployment
npm run vercel:pull # Pull Vercel project settings
npm run vercel:build # Validate Vercel output locally
# Development Tools
npm run lint # ESLint
npm run typecheck # TypeScript checking
src/
├── app/ # Next.js App Router
│ ├── (app)/ # Protected app routes
│ │ ├── dashboard/ # Dashboard page
│ │ ├── equipment/ # Equipment management
│ │ ├── maintenance/ # Maintenance planning
│ │ ├── repair-requests/ # Repair workflows
│ │ ├── transfers/ # Equipment transfers
│ │ ├── users/ # User management
│ │ └── layout.tsx # App layout with navigation
│ ├── api/ # API routes
│ │ ├── auth/ # NextAuth endpoints
│ │ └── rpc/ # Supabase RPC gateway
│ ├── globals.css # Global styles
│ ├── layout.tsx # Root layout
│ └── page.tsx # Login page
├── auth/ # NextAuth configuration
│ └── config.ts # NextAuth options
├── components/ # Reusable UI components
├── contexts/ # React contexts
├── hooks/ # Custom React hooks
├── lib/ # Utility libraries
├── providers/ # Provider components
├── types/ # TypeScript type definitions
└── middleware.ts # Next.js middleware
supabase/
├── migrations/ # Database migrations
└── functions/ # Edge functions (if any)
public/
├── manifest.json # PWA manifest
└── sw.js # Service worker
nhan_vien - User accounts and rolesdon_vi - Organizational units (tenants)thiet_bi - Equipment recordsyeu_cau_sua_chua - Repair requestske_hoach_bao_tri - Maintenance plansyeu_cau_luan_chuyen - Transfer requestsThe application includes Progressive Web App features:
DEPLOYMENT.md - Deployment instructionsHUONG_DAN_SU_DUNG.md - User manual (Vietnamese)CI-CD.md - CI/CD pipeline setupsupabase/migrations/ - Database schema changesWhen working with this project:
useSession() from next-auth/reactFor technical support or questions about the medical equipment management system, consult the project documentation or memory bank for detailed implementation notes.
Built with ❤️ for Vietnamese healthcare institutions