Tác giả: Đinh Sỹ Quốc Doanh, Nguyễn Anh Tú, Nguyễn Hoàng, Lê Đức Kiên, Lê Nguyễn Ngọc Tú Hương.
Deployment platform Vercel: 30Shine website
30shine-web-django-reactjs/ ├── backend/ # 💾 Backend Django │ ├── salon/ # Thư mục project chính (settings, urls, wsgi, asgi) │ │ ├── __init__.py │ │ ├── settings.py │ │ ├── urls.py │ │ ├── wsgi.py │ │ └── asgi.py │ │ │ ├── taiKhoan/ # Đăng ký, đăng nhập, phân quyền │ │ ├── models.py │ │ ├── views.py │ │ ├── serializers.py │ │ ├── urls.py │ │ └── ... │ │ │ ├── qlKhachHang/ # Quản lý khách hàng │ │ ├── models.py │ │ ├── views.py │ │ ├── serializers.py │ │ ├── urls.py │ │ └── ... │ │ │ ├── qlNhanVien/ # Quản lý nhân viên │ │ ├── models.py │ │ ├── views.py │ │ ├── serializers.py │ │ ├── urls.py │ │ └── ... │ │ │ ├── qlLichHen/ # Quản lý lịch hẹn, đặt lịch hẹn │ │ ├── models.py │ │ ├── views.py │ │ ├── serializers.py │ │ ├── urls.py │ │ └── ... │ │ │ ├── qlThongBao/ # Quản lý thông báo │ │ ├── models.py │ │ ├── views.py │ │ ├── serializers.py │ │ ├── urls.py │ │ └── ... │ │ │ ├── qlDanhGia/ # Quản lý đánh giá │ │ ├── models.py │ │ ├── views.py │ │ ├── serializers.py │ │ ├── urls.py │ │ └── ... │ │ │ ├── qlSanPham/ # Quản lý sản phẩm (nếu có) │ │ ├── models.py │ │ ├── views.py │ │ ├── serializers.py │ │ ├── urls.py │ │ └── ... │ │ │ ├── qlHoaDon/ # Quản lý hoá đơn, chi tiết hoá đơn │ │ ├── models.py │ │ ├── views.py │ │ ├── serializers.py │ │ ├── urls.py │ │ └── ... │ │ │ ├── qlDichVu/ # Quản lý dịch vụ │ │ ├── models.py │ │ ├── views.py │ │ ├── serializers.py │ │ ├── urls.py │ │ └── ... │ │ │ ├── manage.py │ └── requirements.txt # Thư viện Python │ ├── frontend/ # 🖥️ Frontend React │ ├── public/ # File tĩnh │ │ └── assets/ # 🖼️ Hình ảnh, font chữ chung │ │ │ ├── src/ │ │ ├── images/ # 📷 Hình ảnh, font chữ private │ │ ├── lib/ # 📦 Thành phần dùng chung │ │ │ ├── components/ # 🧩 **Component** tái sử dụng ⚠️ │ │ │ │ ├── Employees/ # Thư mục chứa component phục vụ trang Employees │ │ │ │ └── *Tên trang chính/ # ⚠️ CHÚ Ý/ │ │ │ │ │ │ │ ├── service/ # Xử lý API │ │ │ ├── router/ # Cấu hình routing │ │ │ └── theme/ # Cấu hình giao diện │ │ │ │ │ ├── pages/ # 📄 **Component trang**, trang chính của các trang quản lý ⚠️ │ │ │ ├── Employees.jsx │ │ │ └── *Tên trang quản lý chính.jsx # ⚠️ CHÚ Ý │ │ │ │ │ ├── App.jsx # Component gốc │ │ ├── main.jsx # Điểm khởi đầu │ │ ├── index.html │ ├── package.json │ └── vite.config.js │ └── README.md
# Clone repository
https://github.com/<repository_url>
cd backend
# Windows
python -m venv venv
.\venv\Scripts\activate
# Linux/Mac
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt --no-cache-dir
cd salon
python manage.py makemigrations
python manage.py migrate
python manage.py createsuperuser
# Development
python manage.py runserver
# Bắt Websocket
daphne salon.asgi:application
Backend server sẽ chạy tại: http://localhost:8000 (hoặc cổng bạn chỉ định)
- Xem chi tiết các endpoint và mẫu request tại file
backend/README_API.md
cd frontend
npm install
Tạo file .env
trong thư mục frontend
:
VITE_API_BASE_URL=http://localhost:8000/api
# Development
npm run dev
Frontend server sẽ chạy tại: http://localhost:3000
Truy cập http://localhost:3000