Aplikasi Web Next.js dan MongoDB , yang dirancang dengan kesederhanaan untuk pembelajaran dan penerapan dunia nyata dalam pikiran.
Lihat demo
? Cepat dan ringan tanpa ekspres besar dan lambat.
Implementasi Rute API Lengkap dan? Siap tanpa server
? Pola middleware yang bagus, kompatibel dengan ekosistem ekspres, ditenagai oleh koneksi berikutnya
? Kiss: tidak ada barang mewah seperti graphql, sass, redux, dll. ✍️ Datang dengan posting blog penjelasan
? Dapat disesuaikan dengan database apa pun selain MongoDB (cukup perbarui API-LIB/DB)
Miliki fitur yang menarik minat Anda, buat masalah. Ingin mengerjakan fitur, membuat PR.
Proyek ini menyertai posting berikut:
Periksa juga di dev.to.
Meskipun proyek ini ditulis untuk aman, kesederhanaannya membutuhkan pertimbangan yang cermat untuk penggunaan dalam produksi sensitif. Ajukan masalah jika Anda menemukan masalah keamanan.
Proyek ini menggunakan dependensi berikut:
next.js - v9.3 atau lebih di atas untuk rute API dan metode pengambilan data baru .react - v16.8 atau lebih di atas untuk react hooks .react-dom - v16.8 atau lebih.swr - Diperlukan untuk manajemen negara, dapat diganti dengan react-querymongodb - dapat digantikan oleh mongoose .passport , passport-local - Diperlukan untuk Otentikasi.next-connect - Disarankan jika Anda ingin menggunakan Middleware Express/Connect dan Routing Metode yang Lebih Mudah.next-session , connect-mongo -Diperlukan untuk sesi, dapat diganti dengan perpustakaan sesi lain seperti cookie-session , next-iron-session , atau express-session ( express-session diamati untuk tidak bekerja dengan baik di Next.js 11+).bcryptjs - Opsional, dapat diganti dengan perpustakaan yang menodai kata sandi. argon2 direkomendasikan.validator - Opsional tetapi disarankan, untuk memvalidasi email.ajv - Opsional tetapi direkomendasikan, untuk memvalidasi Badan Permintaan.multer - dapat diganti dengan middleware mana pun yang menangani multipart/form-datacloudinary - Opsional, hanya jika Anda menggunakan cloudinary untuk mengunggah gambar.nodemailer - Opsional, hanya jika Anda menggunakannya untuk email. Disarankan untuk menggunakan layanan pihak ke -3 seperti MailGun, AWS SES, dll. Sebaliknya.Variabel lingkungan dalam proyek ini meliputi:
MONGODB_URI The MongoDB Connection String (dengan kredensial dan nama database)WEB_URI URL aplikasi web Anda.CLOUDINARY_URL (opsional, hanya cloudinary) Variabel lingkungan cloudinary untuk konfigurasi. Lihat ini.NODEMAILER_CONFIG (opsional, jika menggunakan nodemailer saja ) JSON Stringified nodemailer config. misalnya. {"service":"Gmail","auth":{"user":"[email protected]","pass":"aHR0cHM6Ly95b3V0dS5iZS9kUXc0dzlXZ1hjUQ=="}} Mulailah server pengembangan dengan menjalankan yarn dev atau npm run dev . Memulai dengan membuat file .env.local dengan variabel di atas. Lihat variabel lingkungan.
Proyek ini dapat digunakan di mana saja selanjutnya. JS dapat digunakan. Pastikan untuk mengatur variabel lingkungan menggunakan opsi yang disediakan oleh penyedia cloud/hosting Anda.
Setelah membangun menggunakan npm run build , cukup mulai server menggunakan npm run start .
Anda juga dapat menyebarkan ini dengan penyedia serverless mengingat pengaturan yang benar.
Silakan lihat kontribusi saya.
Mit