Ecommerce Template
Modern ecommerce template built with Next.js 16, React 19, Drizzle, Better Auth, Supabase, and Stripe.
HomeLink - Your one-stop platform for home improvement products and professional installation services.
CommerceJavaScript · CSSGitHub @AdrianEstrechoOnlineOwner 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.
HomeLink is an integrated online marketplace where customers can buy home improvement products (CCTV, ACs, solar equipment, plumbing, electrical, smart home devices) and book professional installation, maintenance, and repair services — all from one platform.
Customer
• Register, login, and manage profile
• Browse and search products by category
• Shopping cart and secure checkout with promo codes
• Book installation/maintenance services with date/time scheduling
• Track orders and service bookings
• View policies, gallery, and business locationRead the full README ↗HomeLink is an integrated online marketplace where customers can buy home improvement products (CCTV, ACs, solar equipment, plumbing, electrical, smart home devices) and book professional installation, maintenance, and repair services — all from one platform.
GEMINI_API_KEY is set# Install dependencies
cd backend && npm install
cd ../frontend && npm install
# Seed the database with sample data
cd ../backend && npm run seed
# Start backend (terminal 1)
npm run dev
# Start frontend (terminal 2)
cd ../frontend && npm run dev
| Role | Password | Login URL | |
|---|---|---|---|
| Admin | [email protected] | admin123 | http://localhost:5173/admin/login |
| Employee | [email protected] | password123 | http://localhost:5173/admin/login |
| Customer | [email protected] | password123 | http://localhost:5173/login |
Staff (admin and employee) sign in at the dedicated staff portal, /admin/login, separate
from the customer login at /login. Each portal only accepts its own account types — a
customer credential entered at /admin/login (or a staff credential entered at /login)
is rejected. Logging out of the admin dashboard returns to /admin/login.
The staff portal opens on a role list — the five employee positions, then Administrator — and staff pick theirs before signing in. A correct password for a different role is turned away (before any 2FA code is sent) with a one-click switch to the account's own role. Employees with no position yet, like the demo employee above, can sign in under any employee role.
HOMELINK10 — 10% off (min ₱5,000)SAVE500 — ₱500 off (min ₱3,000)NEWHOME20 — 20% off (min ₱10,000)First-time service bookings automatically receive 15% off.
homelink/
├── backend/
│ ├── db/ # Database schema & seed
│ ├── routes/ # API routes
│ ├── middleware/ # Auth middleware
│ └── utils/ # Email & promo helpers
└── frontend/
└── src/
├── components/
├── context/ # Auth & Cart state
└── pages/ # Customer, Admin, Employee views
Copy backend/.env.example to backend/.env and configure:
PORT=5000
JWT_SECRET=your-secret-key
FRONTEND_URL=http://localhost:5173
RESEND_API_KEY=your-resend-api-key # Optional for real emails
EMAIL_FROM=HomeLink <[email protected]> # sandboxed until a domain is verified
GEMINI_API_KEY=your-gemini-api-key # Optional; enables the AI assistant (https://aistudio.google.com/apikey)
# GEMINI_MODEL=gemini-3.8-flash # Optional; comma-separated models to try in order (default: the free Flash models)
Built for academic/research purposes.