Cam kết này không thuộc về bất kỳ nhánh nào trên kho lưu trữ này và có thể thuộc về một nhánh bên ngoài kho lưu trữ
Bạn không thể thực hiện hành động đó vào lúc này
Bạn đã đăng nhập bằng tab hoặc cửa sổ khác. Tải lại để làm mới phiên của bạn. Bạn đã đăng xuất trong một tab hoặc cửa sổ khác. Tải lại để làm mới phiên của bạn
Đây là bộ xương API REST cơ bản được viết trên JavaScript bằng cách sử dụng async/await. Tuyệt vời để xây dựng API web khởi động cho giao diện người dùng của bạn [Android, iOS, Vue, phản ứng, góc cạnh hoặc bất kỳ thứ gì có thể sử dụng API]
Dự án này được tạo để giúp các nhà phát triển khác tạo API REST cơ bản một cách dễ dàng với Node. js. Ví dụ cơ bản này cho thấy JavaScript có thể đơn giản và mạnh mẽ như thế nào. Bạn có muốn đóng góp không?
Mua cho tôi một ly cà phê
Xin chào. Tôi là Daniel Avellaneda, tôi là một người đam mê mã nguồn mở và dành thời gian rảnh của mình để xây dựng các dự án trong lĩnh vực này
Tôi là người tạo và duy trì nút-express-mongodb-jwt-rest-api-skeleton và vue-skeleton-mvp
Các dự án này là "bộ ứng dụng web dành cho người mới bắt đầu" dành cho bất kỳ nhà phát triển nào muốn xây dựng ứng dụng của riêng họ mà không phải bắt đầu lại từ đầu. API + Giao diện người dùng
Cả hai dự án đã được tải xuống hàng nghìn lần bởi các nhà phát triển web trên khắp thế giới
Tôi đang cố gắng hết sức để cung cấp cho bạn trải nghiệm tốt khi sử dụng các ứng dụng của tôi, vì vậy nếu bạn thích những gì tôi đang làm và muốn nói "cảm ơn. ", hãy mua cho tôi một ly cà phê☕
Vui lòng gửi cho tôi một tweet https. //twitter. com/davellanedam, chia sẻ nội dung này với người khác hoặc thực hiện yêu cầu kéo
Đặc trưng
- Sẵn sàng cho nhiều môi trường [phát triển, sản xuất]
- Hệ thống người dùng email/mật khẩu tùy chỉnh với tính năng chặn và bảo mật cơ bản để ngăn chặn các cuộc tấn công vũ phu
- phản ứng nén
- Tiêu đề HTTP được bảo mật
- CORS đã sẵn sàng
- Bộ nhớ cache đã sẵn sàng [Redis]
- Trình ghi yêu cầu HTTP ở chế độ phát triển
- i18n đã sẵn sàng [để gửi email bằng nhiều ngôn ngữ]
- Vai trò người dùng
- phân trang đã sẵn sàng
- Thông tin người dùng
- Danh sách người dùng cho khu vực quản trị
- Mô hình thành phố và ví dụ về bộ điều khiển
- Nhật ký truy cập đăng nhập bằng IP, trình duyệt và vị trí quốc gia [đối với quốc gia, tìm tiêu đề
cd myproject npm install npm update
7 mà CloudFlare tạo khi bảo vệ trang web của bạn] - Tài liệu được tạo tự động API bởi Postman
- Ví dụ về bộ sưu tập API cho Postman
- Thử nghiệm với mocha/chai cho các điểm cuối API
- Tập lệnh NPM để dọn dẹp và tạo cơ sở dữ liệu MongoDB
- Tập lệnh NPM để giữ định dạng mã nguồn tốt bằng cách sử dụng đẹp hơn và ESLint
- Sử dụng ESLint để thực hành mã hóa tốt
- Ví dụ về người gửi thư với Nodemailer và Mailgun
- Khả năng làm mới mã thông báo
- Mã thông báo JWT, thực hiện các yêu cầu bằng mã thông báo sau khi đăng nhập với tiêu đề
cd myproject npm install npm update
0 có giá trịcd myproject npm install npm update
1 trong đócd myproject npm install npm update
2 là mã thông báo đã ký và mã hóa được đưa ra trong phản hồi từ quá trình đăng nhập
Yêu cầu
- Nút. 10+
- MongoDB 3. 6+
- làm lại 5. 0+
Thử nghiệm
Bản demo của API này được đặt tại. https. //api-demo. daniel-avellaneda. com
Thông tin đăng nhập
email.
cd myproject
npm install
npm update
3mật khẩu.
cd myproject
npm install
npm update
4QUAN TRỌNG. Cơ sở dữ liệu đặt lại cứ sau 30 phút như "12. 00am, 12. 30 giờ sáng, 1. 00 giờ sáng", v.v. Vì vậy, mọi thứ bạn làm với API sẽ bị mất sau một thời gian ngắn
Tài liệu về API
Bộ sưu tập ví dụ về API Postman
Nếu bạn muốn thử nghiệm, đừng quên thay đổi biến máy chủ thành.
______05
Bản trình diễn cũng được liên kết với một dự án VueJS cho thấy cách API này có thể được tích hợp với giao diện người dùng có thể sử dụng API.
Repo ở đây. https. //github. com/davellanedam/vue-skeleton-mvp
Bản demo đang chạy ở đây. https. //vue-demo. daniel-avellaneda. com
Cài đặt thế nào
Sử dụng Git [được khuyến nghị]
- Sao chép dự án từ github. Thay đổi "myproject" thành tên dự án của bạn
git clone //github.com/davellanedam/node-express-mongodb-jwt-rest-api-skeleton.git ./myproject
Sử dụng ZIP tải xuống thủ công
- Tải xuống kho lưu trữ
- Giải nén vào thư mục mong muốn của bạn
Cài đặt phụ thuộc npm sau khi cài đặt [Git hoặc tải xuống thủ công]
cd myproject
npm install
npm update
Thiết lập môi trường [phát triển hoặc sản xuất]
- Trong thư mục gốc của kho lưu trữ này, bạn sẽ tìm thấy một tệp có tên
cd myproject npm install npm update
6 - Tạo một tệp mới bằng cách sao chép và dán tệp rồi đổi tên thành chỉ
cd myproject npm install npm update
7 - Tệp
cd myproject npm install npm update
7 đã bị bỏ qua, vì vậy bạn không bao giờ cam kết thông tin xác thực của mình - Thay đổi giá trị của tệp thành môi trường của bạn [phát triển hoặc sản xuất]
- Tải
cd myproject npm install npm update
7 lên máy chủ môi trường của bạn [phát triển hoặc sản xuất] - Nếu bạn sử dụng bộ sưu tập người đưa thư để thử các điểm cuối, hãy thay đổi giá trị của biến
cd myproject npm install npm update
20 trên môi trường của bạn thành url của máy chủ, đối với chế độ phát triển, hãy sử dụng http. //máy chủ cục bộ. 3000
QUAN TRỌNG. Theo mặc định, mã thông báo sẽ hết hạn sau 3 ngày [4320 phút được đặt trong. env. ví dụ]. Bạn có thể làm mới mã thông báo tại điểm cuối GET /token. Nếu mọi thứ đều ổn, bạn sẽ nhận được mã thông báo mới
người đưa thư
Để đảm bảo khả năng gửi email được gửi bởi API này,
cd myproject
npm install
npm update
21 được sử dụng để gửi thư cho người dùng khi họ đăng ký, vì vậy nếu bạn muốn sử dụng tính năng đó, hãy đăng ký tại trang web của họ https. //www. súng thư. comNếu bạn muốn thử một phương pháp khác thì không sao, tôi đã sử dụng https. // gật đầu. com cho API này và chúng có các phương thức vận chuyển khác nhau như. smtp
i18n
Ngôn ngữ được tự động phát hiện từ tiêu đề
cd myproject
npm install
npm update
22 theo yêu cầu. Vì vậy, bạn có thể gửi ngôn ngữ theo cách thủ công theo yêu cầu hoặc trình duyệt của bạn sẽ gửi ngôn ngữ mặc định, nếu tiêu đề cd myproject
npm install
npm update
22 không được gửi thì nó sẽ sử dụng ngôn ngữ cd myproject
npm install
npm update
24 làm mặc địnhLàm thế nào để chạy
Làm sạch cơ sở dữ liệu và tạo mẫu
Có 3 lệnh có sẵn cho việc này.
cd myproject
npm install
npm update
25, cd myproject
npm install
npm update
26 và cd myproject
npm install
npm update
27cd myproject
npm install
npm update
2cd myproject npm install npm update
25 làm sạch và sau đó thêm dữ liệu động vào cơ sở dữ liệucd myproject npm install npm update
26 dọn dẹp cơ sở dữ liệucd myproject npm install npm update
27 tạo cơ sở dữ liệu với dữ liệu động
Chạy ở chế độ phát triển [nâng máy chủ API]
cd myproject
npm install
npm update
4Bạn sẽ biết máy chủ đang chạy bằng cách kiểm tra đầu ra của lệnh
cd myproject
npm install
npm update
41cd myproject
npm install
npm update
6chạy thử nghiệm
Thực hành tốt là thực hiện kiểm tra mã của bạn, vì vậy mẫu về cách thực hiện điều đó trong
cd myproject
npm install
npm update
42 cũng được bao gồm trong thư mục cd myproject
npm install
npm update
43cd myproject
npm install
npm update
9mã định dạng
Định dạng mã của bạn đẹp hơn bằng cách nhập
cd myproject
npm install
npm update
0Định dạng tệp đánh dấu
Định dạng tất cả các tệp đánh dấu của bạn bằng nhận xét bằng cách nhập
cd myproject
npm install
npm update
1mã lót
lint mã của bạn với ESLint bằng cách gõ
cd myproject
npm install
npm update
2Cách sử dụng
Khi mọi thứ được thiết lập để kiểm tra các tuyến API, hãy sử dụng Postman hoặc bất kỳ ứng dụng kiểm tra api nào khác. Tổ hợp tên người dùng/mật khẩu mặc định để đăng nhập là
cd myproject
npm install
npm update
44tài liệu API
https. // tài liệu. người phát thơ. com/view/487539/RWaHwoLV
Bộ sưu tập ví dụ API Postman
Bạn có thể nhập bộ sưu tập ví dụ vào Postman. Để nhập, nhấp vào nút nhập và chọn
cd myproject
npm install
npm update
45 nằm trong thư mục gốcTruy cập
cd myproject
npm install
npm update
46 để tạo môi trường phát triển, sản xuất, v.v. Trên mỗi môi trường bạn tạo, bạn sẽ cần phảiTạo khóa mới
cd myproject npm install npm update
47 và trong yêu cầucd myproject npm install npm update
48, giá trị này được cập nhật tự động sau khi đăng nhập thành công thông qua tập lệnh nằm trong tabcd myproject npm install npm update
49. Mỗi khi bạn yêu cầu API, nó sẽ gửi tiêu đềcd myproject npm install npm update
0 với giá trịcd myproject npm install npm update
61 trong yêu cầu, bạn có thể kiểm tra điều này trên tiêu đề của người dùng hoặc điểm cuối thành phố trong ví dụ về PostmanTạo khóa thứ hai
cd myproject npm install npm update
20 bằng url của máy chủ của bạn, để sử dụng chế độ phát triển, hãy sử dụng http. //máy chủ cục bộ. 3000
Đây là API REST, vì vậy nó hoạt động bằng các phương thức HTTP sau
- NHẬN [Đọc]. Nhận một danh sách các mục hoặc một mục duy nhất
- ĐĂNG [Tạo]. Tạo một mục
- PATCH [Cập nhật]. Cập nhật một mục
- XÓA BỎ. Xóa một mục
Tạo mô hình mới
Nếu bạn cần thêm nhiều mô hình hơn vào dự án, chỉ cần tạo một tệp mới trong
cd myproject
npm install
npm update
63 và nó sẽ được tải độngTạo tuyến đường mới
Nếu bạn cần thêm nhiều tuyến đường hơn vào dự án, chỉ cần tạo một tệp mới trong
cd myproject
npm install
npm update
64 và nó sẽ được tải độngTạo bộ điều khiển mới
Khi bạn tạo bộ điều khiển mới, hãy thử tạo một thư mục khác có xác thực và trợ giúp. Bán tại.
cd myproject
npm install
npm update
65, cd myproject
npm install
npm update
66 và cd myproject
npm install
npm update
67. Một ví dụ về điều này được bao gồm trong kho lưu trữLỗi hoặc cải tiến
Vui lòng báo cáo bất kỳ lỗi hoặc cải tiến nào. Yêu cầu kéo luôn được chào đón
Giấy phép
Dự án này là phần mềm nguồn mở được cấp phép theo Giấy phép MIT. Xem tệp GIẤY PHÉP để biết thêm thông tin