Skip to content

nguyen-huu-thang/shop-backend

Repository files navigation

Web Bán Hàng (Symfony Backend)

Đâ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:


Yêu cầu hệ thống

  • PHP: Phiên bản 8.2 hoặ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.

Hướng dẫn cài đặt

1. Clone dự án từ GitHub

git clone https://github.com/Huutkang/shop-backend.git
cd shop-backend

2. Cài đặt các thư viện PHP

composer install

3. Thiết lập cấu hình kết nối cơ sở dữ liệu

  • Mở file .env trong thư mục dự án và chỉnh sửa dòng DATABASE_URL sao 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"

4. Khởi tạo cơ sở dữ liệu

  • 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

Nếu cần xóa và tạo lại cơ sở dữ liệu

  • Xóa database hiện tại:

    php bin/console doctrine:database:drop --force
  • Xóa các file trong thư mục migrations nếu cần.

  • Lặp lại các bước khởi tạo cơ sở dữ liệu ở trên.

5. Thiết lập dữ liệu ban đầu

  • 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

6. Chạy server phát triển

  • 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.


Quy tắc làm việc nhóm

  1. 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.
  2. 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
  3. 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>
  4. 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.

Một số lưu ý

  1. 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.jsoncomposer.lock.

  2. 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ợ.

About

đây là code phần backend của dự án thiết kế web bán hàng sử dụng symfony

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors