Skip to content

chienlb/Express-Backend-Boilerplate

Repository files navigation

🚀 Template NodeJS - MVCS Architecture

Node.js TypeScript Express


📖 Giới thiệu

Dự án này là một template NodeJS sử dụng kiến trúc MVCS (Model – View – Controller – Service), giúp tách biệt rõ ràng các tầng xử lý, dễ dàng bảo trì, mở rộng và kiểm thử. Dự án phù hợp để phát triển các RESTful API hiện đại, bảo mật và dễ mở rộng.


🗂️ Kiến trúc thư mục

src/
  ├── configs/         # Cấu hình (database, env, email, CORS, ...)
  ├── controllers/     # Xử lý request, gọi service, trả response
  ├── middlewares/     # Các middleware cho Express (auth, logger, error, ...)
  ├── migrations/      # Script migrate database
  ├── models/          # Định nghĩa schema/model cho database
  ├── routes/          # Định nghĩa các route của API
  ├── services/        # Xử lý logic nghiệp vụ, giao tiếp với model
  ├── types/           # Định nghĩa type, interface mở rộng cho project
  ├── utils/           # Các hàm tiện ích dùng chung
  ├── validations/     # Validate dữ liệu đầu vào
  ├── app.ts           # Khởi tạo app Express
  └── server.ts        # Điểm bắt đầu chạy server

🛠️ Công nghệ sử dụng


⚡ Hướng dẫn cài đặt & chạy dự án

1. Clone dự án & cài đặt dependencies

git clone <repo-url>
cd Template-NodeJS
npm install

2. Tạo file cấu hình môi trường

Tạo file .env từ file mẫu:

cp .env.example .env

Sau đó cập nhật các biến môi trường phù hợp trong file .env.

3. Chạy migration (nếu có)

npm run migrate

4. Khởi chạy dự án

  • Chạy ở chế độ phát triển (hot reload):

    npm run dev
  • Build & chạy production:

    npm run build
    npm start

💡 Một số lệnh npm hữu ích

Lệnh Chức năng
npm run dev Chạy server ở chế độ phát triển (dùng nodemon)
npm run build Biên dịch TypeScript sang JavaScript
npm start Chạy server ở chế độ production
npm run migrate Chạy migration database (nếu có)

🤝 Đóng góp

Mọi đóng góp, issue hoặc pull request đều rất được chào đón!

  1. Fork repository
  2. Tạo branch mới (git checkout -b feature/ten-tinh-nang)
  3. Commit thay đổi (git commit -m 'Add new feature')
  4. Push lên branch (git push origin feature/ten-tinh-nang)
  5. Tạo Pull Request

Liên hệ: Nếu có thắc mắc hoặc cần hỗ trợ, vui lòng tạo issue hoặc liên hệ trực tiếp qua email.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published