Đây là phần backend của dự án web bán hàng, được phát triển bằng Symfony. Dự án bao gồm 2 phần chính:
- Frontend: React, lưu trữ tại Shop Frontend Repository
- Backend: Symfony, lưu trữ tại Shop Backend Repository
- PHP: Phiên bản
8.2hoặc mới hơn. - Composer: Được cài đặt sẵn trên hệ thống.
- Database: MySQL hoặc PostgreSQL.
- Web Server: Apache hoặc Nginx.
- Symfony CLI: Khuyến nghị cài đặt để hỗ trợ phát triển.
git clone https://github.com/Huutkang/shop-backend.git
cd shop-backendcomposer install-
Mở file
.envtrong thư mục dự án và chỉnh sửa dòngDATABASE_URLsao cho phù hợp với thông tin cơ sở dữ liệu của bạn. Ví dụ:DATABASE_URL="postgresql://username:password@127.0.0.1:5432/shop?serverVersion=17.2"
Hoặc:
DATABASE_URL="mysql://root:root@127.0.0.1:3306/shop?serverVersion=mariadb-10.4.32"
-
Tạo database:
php bin/console doctrine:database:create
-
Tạo file migration:
php bin/console doctrine:migrations:diff
-
Thực thi migrations:
php bin/console doctrine:migrations:migrate
-
Quy trình làm sạch để insert dữ liệu vào database
php bin/console doctrine:query:sql "DELETE FROM categories;" php bin/console doctrine:query:sql "DELETE FROM files;" php bin/console doctrine:query:sql "DELETE FROM products;" php bin/console doctrine:query:sql "ALTER SEQUENCE public.categories_id_seq RESTART WITH 1;" php bin/console doctrine:query:sql "ALTER SEQUENCE public.files_id_seq RESTART WITH 1;" php bin/console doctrine:query:sql "ALTER SEQUENCE public.products_id_seq RESTART WITH 1;"
-
Sau đó, vào cơ sở dữ liệu và chạy file categories_script.sql để insert danh mục sản phẩm
-
Xóa database hiện tại:
php bin/console doctrine:database:drop --force
-
Xóa các file trong thư mục
migrationsnếu cần. -
Lặp lại các bước khởi tạo cơ sở dữ liệu ở trên.
-
Chạy lệnh để tạo mật khẩu cho tài khoản superadmin và cập nhật quyền:
php bin/console app:setup-initial
-
Sử dụng Symfony CLI: Nếu không chạy dược giao thức https, thì là do máy chưa có chứng chỉ SSL Lệnh này sẽ tạo và sử dụng chứng chỉ SSL tự ký trên local.
symfony server:ca:install
symfony server:start
-
Hoặc PHP built-in server:
php -S 127.0.0.1:8000 -t public
-
Truy cập ứng dụng tại http://127.0.0.1:8000.
-
Làm việc trên nhánh cá nhân:
- Mỗi thành viên làm việc trên nhánh của mình (
an,thang,phuc,trung). - Không đẩy trực tiếp lên nhánh
main.
- Mỗi thành viên làm việc trên nhánh của mình (
-
Pull mã nguồn trước khi làm việc:
-
Đảm bảo mã nguồn luôn cập nhật:
git pull origin main
-
-
Commit và đẩy mã lên nhánh cá nhân:
-
Chuyển sang nhánh cá nhân:
git checkout <tên_nhánh_cá_nhân>
-
Commit và đẩy mã:
git add . git commit -m "Mô tả thay đổi" git push origin <tên_nhánh_cá_nhân>
-
-
Gửi yêu cầu hợp nhất vào nhánh
main:- Tạo Pull Request (PR) sau khi hoàn thiện công việc để được xem xét.
-
Cài đặt thư viện mới:
-
Nếu cần cài đặt thêm thư viện PHP:
composer require <tên_thư_viện>
-
Commit các thay đổi trong file
composer.jsonvàcomposer.lock.
-
-
Liên hệ:
- Nếu gặp vấn đề, liên hệ Nguyễn Hữu Thắng hoặc các thành viên khác để được hỗ trợ.