🚀 MÔ TẢ CHI TIẾT
🎯 Giá Trị Cốt Lõi
-
💼 Doanh nghiệp: Giải pháp hoàn chỉnh cho startup/doanh nghiệp muốn vào thị trường dịch vụ chụp ảnh
-
👨💻 Developer: Source code chất lượng cao, có thể custom và mở rộng dễ dàng
🏗️ Kiến Trúc Công Nghệ
Frontend (picnow-fe)
-
Framework: Next.js 15 (React 19) + TypeScript
-
UI Library: Radix UI + Tailwind CSS + Shadcn/ui
-
State Management: Zustand + React Query (TanStack Query)
-
Animation: Framer Motion
-
Charts: Recharts cho dashboard analytics
-
Tính năng:
-
✅ Responsive design cho mọi thiết bị
-
✅ Dark/Light mode
-
✅ Real-time notifications (Socket.io)
-
✅ Advanced search & filter
-
✅ Image upload tích hợp AWS S3
Backend (picnow-be)
-
Framework: NestJS + TypeScript
-
Database: MySQL + Prisma ORM
-
Authentication: JWT + Role-based access control
-
File Storage: AWS S3
-
Payment: VNPay + SePay (webhook integration)
-
Email: Nodemailer service
-
Queue: Bull/Redis cho background jobs
-
Tính năng:
-
✅ RESTful API
-
✅ Real-time notifications
-
✅ Email verification & password reset
-
✅ Rate limiting & security headers
-
✅ API documentation với Swagger
👥 Hệ Thống Người Dùng Đa Cấp
🔵 Khách Hàng (Customer)
-
Đăng ký/Đăng nhập với xác thực email
-
Tạo post đặt lịch chụp ảnh với các thông tin:
-
Loại chụp: portrait, couple, family, event, product
-
Thời gian, địa điểm, ngân sách
-
Mô tả yêu cầu chi tiết
-
Nhận và đánh giá proposal từ photographer
-
Thanh toán online an toàn
-
Review và đánh giá sau dịch vụ
-
Quản lý lịch sử booking
📸 Nhiếp Ảnh Gia (Photographer)
-
Hồ sơ cá nhân + portfolio chuyên nghiệp
-
Tìm job phù hợp với kỹ năng
-
Gửi proposal với báo giá chi tiết
-
Quản lý lịch trình và đơn booking
-
Upload ảnh đã chụp cho khách hàng
-
Theo dõi doanh thu và thống kê
👑 Admin
-
Dashboard tổng quan + biểu đồ phân tích
-
Quản lý người dùng & nhiếp ảnh gia
-
Duyệt bài đăng, nội dung
-
Quản lý thanh toán & commission
-
Báo cáo doanh thu chi tiết
-
Cài đặt hệ thống
💰 Hệ Thống Thanh Toán Hoàn Chỉnh
-
VNPay: Thanh toán qua thẻ ATM/Visa/Mastercard
-
SePay: Chuyển khoản ngân hàng
-
Webhook: Xử lý callback tự động
-
Escrow: Giữ tiền an toàn đến khi hoàn thành dịch vụ
-
Commission: Tính phí tự động cho platform
📊 Analytics & Reporting
-
Dashboard với biểu đồ doanh thu theo thời gian
-
Thống kê booking rate, conversion rate
-
Hiệu suất nhiếp ảnh gia hàng đầu
-
Phân tích doanh thu theo loại dịch vụ
-
Theo dõi tăng trưởng người dùng
🔔 Hệ Thống Thông Báo Thời Gian Thực
-
Real-time notifications (Socket.io)
-
Email notifications với giao diện đẹp
-
Hỗ trợ push notifications (mở rộng)
-
Lịch sử và cài đặt thông báo cho người dùng
XEM THÊM ==> Hướng dẫn cài đặt chi tiết
Nguồn: Sharecode.vn
🛠️ HƯỚNG DẪN CÀI ĐẶT
📋 Yêu Cầu Hệ Thống
-
Node.js 18+
-
MySQL 8.0+
-
Redis (cho queue)
-
AWS S3 account (cho upload ảnh)
-
VNPay/SePay merchant account
⚡ Cài Đặt Nhanh (30 phút)
1. Clone và Cài Đặt Dependencies
# Clone source code
git clone [repository-url]
cd picnow
# Cài đặt Frontend
cd picnow-fe
npm install
npm run build
# Cài đặt Backend
cd ../picnow-be
npm install
npm run build
2. Cấu Hình Database
# Tạo database MySQL
mysql -u root -p
CREATE DATABASE picnow_db;
# Setup Prisma
cd picnow-be
npx prisma generate
npx prisma db push
npx prisma db seed # Tạo dữ liệu mẫu
3. Cấu Hình Environment Variables
# Backend (.env)
DATABASE_URL="mysql://user:password@localhost:3306/picnow_db"
JWT_SECRET="your-jwt-secret"
AWS_ACCESS_KEY_ID="your-aws-key"
AWS_SECRET_ACCESS_KEY="your-aws-secret"
VNPAY_TMN_CODE="your-vnpay-code"
VNPAY_SECRET_KEY="your-vnpay-secret"
REDIS_URL="redis://localhost:6379"
# Frontend (.env.local)
NEXT_PUBLIC_API_URL="http://localhost:3001"
NEXT_PUBLIC_SOCKET_URL="http://localhost:3001"
4. Khởi Chạy Ứng Dụng
# Terminal 1 - Backend
cd picnow-be
npm run start:dev
# Terminal 2 - Frontend
cd picnow-fe
npm run dev
# Truy cập: http://localhost:3000
🚀 Deploy Production
-
Frontend: Vercel/Netlify
-
Backend: VPS/AWS EC2/DigitalOcean
-
Database: AWS RDS/PlanetScale
-
Redis: AWS ElastiCache/Redis Cloud
-
File Storage: AWS S3