학습 및 실제 적용 가능성을 염두에두고 간단하게 설계된 Next.js 및 MongoDB 웹 응용 프로그램.
데모를 확인하십시오
? 부피가 크고 느린 Express.js가 빠르고 가볍습니다.
전체 API 경로 구현 및? 서버리스 준비
? Express Ecosystem과 호환되는 좋은 OL 'Middleware Pattern, 다음 연결로 구동됩니다.
? KISS : GraphQL, Sass, Redux 등과 같은 멋진 것들은 없습니다.
? MongoDB 외에 모든 데이터베이스에 적응할 수 있습니다 (API-LIB/DB를 업데이트하십시오).
관심있는 기능이 있으시면 문제를 해결하십시오. 기능을 사용하고 싶고 PR을 만드십시오.
이 프로젝트는 다음 게시물과 함께 제공됩니다.
또한 dev.to에서 확인하십시오.
이 프로젝트는 안전하도록 작성되었지만 단순성은 민감한 프로덕션의 사용에 대한 신중한 고려 사항이 필요합니다. 보안 문제를 발견하면 문제를 제기하십시오.
이 프로젝트는 다음의 종속성을 사용합니다.
next.js -API 경로 및 새로운 새로운 데이터 페치 방법 에 필요한 v9.3 이상.react -V16.8 이상의 반응 후크 에 필요합니다.react-dom -V16.8 이상.swr 국가 관리에 필요한 경우 react-query 로 대체 될 수 있습니다.mongodb mongoose 로 대체 될 수 있습니다.passport , passport-local - 인증에 필요합니다.next-connect - Express/Connect Middleware 및 Easy Method 라우팅을 사용하려면 권장됩니다.next-session , connect-mongo cookie-session , next-iron-session 또는 express-session 과 같은 다른 세션 라이브러리로 대체 될 수 있습니다 ( express-session Next.js 11+에서 제대로 작동하지 않는 것으로 관찰됩니다).bcryptjs 선택 사항은 암호 청소 라이브러리로 대체 될 수 있습니다. argon2 추천.validator - 옵션이지만 권장합니다. 이메일을 확인합니다.ajv 선택 사항이지만 권장됩니다. 요청 본문을 검증합니다.multer multipart/form-data 처리하는 모든 미들웨어로 교체 될 수 있습니다.cloudinary 선택 사항, 이미지 업로드에 Cloudinary를 사용하는 경우에만 가능 합니다.nodemailer 옵션, 이메일에 사용하는 경우에만 가능 합니다. 대신 Mailgun, AWS SES 등과 같은 타사 서비스를 사용하는 것이 좋습니다.이 프로젝트의 환경 변수는 다음과 같습니다.
MONGODB_URI mongodb 연결 문자열 (자격 증명 및 데이터베이스 이름 포함)WEB_URI 웹 앱의 URL .CLOUDINARY_URL (선택 사항, Cloudinary 전용 ) Cloudinary Environment 변수 구성을위한 Cloudinary 환경. 이것을 참조하십시오.NODEMAILER_CONFIG (선택 사항, NODEMAILER 만 사용하는 경우) JSON Stringified NodeMailer Config. 예를 들어. {"service":"Gmail","auth":{"user":"[email protected]","pass":"aHR0cHM6Ly95b3V0dS5iZS9kUXc0dzlXZ1hjUQ=="}} yarn dev 또는 npm run dev 실행하여 개발 서버를 시작하십시오. 위의 변수와 함께 .env.local 파일을 만들어 시작하기. 환경 변수를 참조하십시오.
이 프로젝트는 다음에 어디서나 배포 할 수 있습니다 .JS는 배포 할 수 있습니다. 클라우드/호스팅 제공 업체가 제공하는 옵션을 사용하여 환경 변수를 설정하십시오.
npm run build 사용하여 빌드 한 후 npm run start 사용하여 서버를 시작하십시오.
올바른 설정이 주어진 서버리스 제공 업체로이를 배포 할 수도 있습니다.
내 기여 .md를 참조하십시오.
MIT