Skip to content

build-site/webapp

Repository files navigation

ServiceHub - সার্ভিস সেলিং ওয়েব অ্যাপ

একটি সম্পূর্ণ ফিচার-সমৃদ্ধ সার্ভিস মার্কেটপ্লেস ওয়েব অ্যাপ্লিকেশন যা Next.js 15, TypeScript, এবং Tailwind CSS দিয়ে তৈরি।

🚀 ফিচারসমূহ

🏠 হোমপেজ

  • আধুনিক হিরো সেকশন
  • সার্ভিস লিস্টিং সার্চ এবং ফিল্টার সহ
  • ফিচার্ড সার্ভিস প্রদর্শন
  • ক্যাটাগরি ভিত্তিক সার্ভিস বিভাজন
  • রেসপন্সিভ ডিজাইন

📝 সার্ভিস ডিটেল পেজ

  • সম্পূর্ণ সার্ভিস বিবরণ
  • প্রোভাইডার তথ্য
  • গ্রাহক রিভিউ এবং রেটিং
  • বুকিং সিস্টেম
  • দ্রুত তথ্য সেকশন

🛠️ অ্যাডমিন ড্যাশবোর্ড

  • সার্ভিস ম্যানেজমেন্ট (CRUD)
  • বুকিং ম্যানেজমেন্ট
  • স্ট্যাটিস্টিক্স এবং অ্যানালিটিক্স
  • রিয়েল-টাইম ডাটা আপডেট

🔧 টেকনিক্যাল ফিচারসমূহ

  • ফ্রন্টএন্ড: Next.js 15 এপ রাউটার, TypeScript, Tailwind CSS
  • ব্যাকএন্ড: Next.js API Routes, Prisma ORM
  • ডাটাবেস: SQLite (প্রোডাকশনে PostgreSQL/MySQL এ আপগ্রেড করা যাবে)
  • UI কম্পোনেন্ট: shadcn/ui
  • স্টাইলিং: Tailwind CSS 4
  • আইকন: Lucide React

📋 প্রয়োজনীয়তা

  • Node.js 18+
  • npm বা yarn

🚀 ইনস্টলেশন এবং সেটআপ

১. রেপোজিটরি ক্লোন করুন

git clone <your-repo-url>
cd servicehub

২. ডিপেন্ডেন্সি ইনস্টল করুন

npm install

৩. এনভায়রনমেন্ট ভেরিয়েবল সেটআপ করুন

.env ফাইল তৈরি করুন:

DATABASE_URL="file:./dev.db"

৪. ডাটাবেস সেটআপ করুন

npm run db:push

৫. ডেভেলপমেন্ট সার্ভার চালু করুন

npm run dev

অ্যাপটি http://localhost:3000 এ চলবে।

🌐 ডিপ্লয়মেন্ট

Vercel এ ডিপ্লয় করা (সুপারিশকৃত)

১. Vercel এ পুশ করুন:

git add .
git commit -m "Initial commit"
git push origin main

২. Vercel ড্যাশবোর্ডে:

  • Vercel এ আপনার GitHub রেপো কানেক্ট করুন
  • এনভায়রনমেন্ট ভেরিয়েবল যোগ করুন:
    • DATABASE_URL (প্রোডাকশন ডাটাবেস URL)
  • ডিপ্লয় করুন

অন্যান্য হোস্টিং প্ল্যাটফর্মে

Netlify

npm run build
  • .next ফোল্ডার এবং public ফোল্ডার আপলোড করুন
  • রিডাইরেক্ট রুল সেট করুন

Railway/Render

  • Dockerfile যোগ করুন
  • রেপো কানেক্ট করুন
  • এনভায়রনমেন্ট ভেরিয়েবল সেট করুন

সার্ভারে ম্যানুয়ালি ডিপ্লয়

# বিল্ড করুন
npm run build

# প্রোডাকশনে চালু করুন
npm start

🗄️ ডাটাবেস কনফিগারেশন

ডেভেলপমেন্ট (SQLite)

DATABASE_URL="file:./dev.db"

প্রোডাকশন (PostgreSQL - সুপারিশকৃত)

DATABASE_URL="postgresql://username:password@host:port/database"

প্রোডাকশন (MySQL)

DATABASE_URL="mysql://username:password@host:port/database"

প্রোডাকশনের জন্য prisma/schema.prisma এ প্রোভাইডার আপডেট করুন:

datasource db {
  provider = "postgresql"  // বা "mysql"
  url      = env("DATABASE_URL")
}

📁 প্রজেক্ট স্ট্রাকচার

src/
├── app/
│   ├── api/              # API Routes
│   │   ├── services/     # সার্ভিস API
│   │   ├── bookings/     # বুকিং API
│   │   └── reviews/      # রিভিউ API
│   ├── admin/            # অ্যাডমিন ড্যাশবোর্ড
│   ├── service/[id]/     # সার্ভিস ডিটেল পেজ
│   └── page.tsx          # হোমপেজ
├── components/
│   └── ui/               # shadcn/ui কম্পোনেন্টস
├── lib/
│   └── db.ts             # ডাটাবেস ক্লায়েন্ট
└── hooks/                # কাস্টম হুকস

🔧 এপিআই এন্ডপয়েন্টসমূহ

সার্ভিস

  • GET /api/services - সব সার্ভিস পান
  • POST /api/services - নতুন সার্ভিস তৈরি করুন

বুকিং

  • GET /api/bookings - বুকিং লিস্ট পান
  • POST /api/bookings - নতুন বুকিং করুন
  • PATCH /api/bookings/[id] - বুকিং আপডেট করুন

রিভিউ

  • POST /api/reviews - রিভিউ যোগ করুন

🎨 কাস্টমাইজেশন

কালার থিম

tailwind.config.js এ কালার পরিবর্তন করুন:

theme: {
  extend: {
    colors: {
      primary: {
        // আপনার কালার কোড
      }
    }
  }
}

ফন্ট

লেআউটে ফন্ট পরিবর্তন করুন:

import { Inter } from 'next/font/google'

const inter = Inter({ subsets: ['latin'] })

📱 রেসপন্সিভ ডিজাইন

অ্যাপটি সম্পূর্ণ রেসপন্সিভ:

  • মোবাইল: 320px+
  • ট্যাবলেট: 768px+
  • ডেস্কটপ: 1024px+

🔒 সিকিউরিটি

  • API রুট প্রোটেকশন
  • ইনপুট ভ্যালিডেশন
  • SQL ইনজেকশন প্রিভেনশন (Prisma ORM)
  • CORS কনফিগারেশন

🚀 পারফরম্যান্স অপ্টিমাইজেশন

  • Next.js অটোমেটিক অপ্টিমাইজেশন
  • ইমেজ অপ্টিমাইজেশন
  • কোড স্প্লিটিং
  • লেজি লোডিং

📞 সাপোর্ট

যেকোনো সমস্যার জন্য যোগাযোগ করুন:

📄 লাইসেন্স

MIT License


তৈরি করেছে: ❤️ Next.js 15, TypeScript, Tailwind CSS দিয়ে

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published