Easy-to-manage touch screens
Free, open-source touch screens. Guided USB setup, a drag-and-drop editor and local control. Made for Home Assistant.
Manage, view, and organize all your properties in one verified box. Secure transactions, escrow payments, stamp duty verification, and tenancy management.
LifestyleTypeScript · JavaScriptGitHub @goldenbirchtechnologiesOnlineOwner 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
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗Nigeria's most trusted property marketplace with 5-layer verification, escrow payments, and estate management tools.
src/
├── app/ # Next.js App Router pages
│ ├── (public)/ # Public routes (landing, listings, auth)
│ ├── (dashboard)/ # Protected dashboard routes
│ │ ├── dashboard/ # Role-specific dashboards
│ │ ├── tenant/ # Tenant portal
│ │ ├── agent/ # Agent portal
│ │ ├── admin/ # Admin console
│ │ └── estate-manager/ # Estate manager B2B
│ └── api/ # API routes
├── components/
│ ├── ui/ # Base UI components (shadcn/ui)
│ ├── layout/ # Layout components (sidebar, topbar)
│ ├── listings/ # Listing-specific components
│ ├── verification/ # Verification wizard components
│ ├── agreements/ # Agreement components
│ └── orgs/ # Organisation components
├── lib/ # Core utilities & clients
│ ├── prisma.ts # Prisma singleton
│ ├── auth.ts # Clerk auth helpers
│ ├── utils.ts # Utility functions
│ ├── validators.ts # Zod schemas
│ ├── paystack.ts # Paystack client
│ ├── cloudinary.ts # Cloudinary upload helpers
│ ├── prembly.ts # Prembly identity verification
│ ├── termii.ts # Termii SMS client
│ ├── email.ts # Email templates & sender
│ ├── verification.ts # 5-layer verification state machine
│ └── fees.ts # Fee calculation logic
├── hooks/ # Custom React hooks
├── types/ # TypeScript type definitions
└── styles/ # Global styles
prisma/
├── schema.prisma # Database schema
└── seed.ts # Development seed data
# Clone and install dependencies
cd propati-nextjs
npm install
# Set up environment variables
cp .env.example .env.local
# Edit .env.local with your credentials
# Set up database
npm run prisma:generate
npm run prisma:migrate
npm run prisma:seed
# Start development server
npm run dev
See .env.example for all required variables. Key variables:
| Variable | Description |
|---|---|
DATABASE_URL | PostgreSQL connection string (Supabase pooler) |
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY | Clerk publishable key |
CLERK_SECRET_KEY | Clerk secret key |
PAYSTACK_SECRET_KEY | Paystack secret key |
PAYSTACK_WEBHOOK_SECRET | Paystack webhook signing secret |
CLOUDINARY_CLOUD_NAME | Cloudinary cloud name |
CLOUDINARY_API_KEY / CLOUDINARY_API_SECRET | Cloudinary credentials |
PREMBLY_API_KEY | IdentityPass/Prembly API key |
TERMII_API_KEY / TERMII_SENDER_ID | Termii SMS credentials |
SMTP_* | Email SMTP configuration |
npm run dev # Start dev server
npm run build # Production build
npm run start # Start production server
npm run lint # Run ESLint
npm run typecheck # Run TypeScript type checking
npm run test # Run Vitest tests
npm run test:ui # Run Vitest with UI
npm run prisma:generate # Generate Prisma client
npm run prisma:migrate # Run migrations (dev)
npm run prisma:migrate:prod # Deploy migrations (prod)
npm run prisma:studio # Open Prisma Studio
npm run prisma:seed # Seed database
npm run db:push # Push schema changes
npm run db:reset # Reset database
The schema includes 24 tables covering:
See DATABASE_SCHEMA.md for complete documentation.
in_escrow# Unit & integration tests
npm run test
# E2E tests (requires dev server running)
npx playwright test
# Production
npm run prisma:migrate:prod
Proprietary - PropatiBox 2024
Built with ❤️ for the Nigerian property market.