Agelgil Primer Healthy Recipe Hub adalah platform ramah pengguna yang memungkinkan orang dengan berbagai tuntutan diet untuk menemukan, berbagi, dan mengakses perpustakaan yang luas dari penawaran buatan sendiri dengan rekomendasi resep yang dipersonalisasi berdasarkan kebutuhan diet individu dan kondisi kesehatan.
Untuk menjalankan proyek ini, Anda perlu menambahkan variabel lingkungan berikut ke file .env Anda di /api/.env. mengangkatDevelopment | produksi]
perlu menambahkan .env.development untuk berjalan secara lokal
perlu menambahkan .env.produksi untuk produksi
DATABASE_URL : Variabel lingkungan ini menyimpan string koneksi ke database MongoDB Anda. Misalnya, itu bisa menunjuk ke cluster atlas MongoDB (misalnya, mongodb+srv://<username>:<password>@cluster0.mongodb.net/myDatabase ) atau instance MongoDB lokal untuk tujuan pengembangan.
MONGOMS_SYSTEM_BINARY : Variabel ini menentukan jalur ke biner sistem MongoDB (misalnya, mongod.exe ). Ini terutama digunakan dalam skenario pengujian yang membutuhkan MongoDB, terutama saat menggunakan versi seperti MongoDB v6.0.9 .
APP_PORT : Nomor port tempat aplikasi Anda akan berjalan. Misalnya, di lingkungan lokal, ini dapat diatur ke 3000 untuk aplikasi Node.js atau nomor port lainnya tergantung pada konfigurasi server.
REDIS_URL : String koneksi untuk server Redis Anda. Redis biasanya digunakan untuk caching dan fungsionalitas real-time. Misalnya, redis://localhost:6379 untuk instance lokal atau redis://<username>:<password>@redis.cloudprovider.com:6379 untuk layanan Redis berbasis cloud.
USER_SECRET , MODERATOR_SECRET , CONTROLLER_SECRET : Ini adalah tombol rahasia JWT (JSON Web Token) yang digunakan untuk menandatangani dan memverifikasi token untuk peran yang berbeda dalam aplikasi Anda. Setiap peran (pengguna, moderator, dan pengontrol) memiliki rahasia untuk keamanan.
USER_REfRESH_SECRET , MODERATOR_REfRESH_SECRET , CONTROLLER_REfRESH_SECRET : Rahasia ini secara khusus digunakan untuk menghasilkan token refresh, yang memungkinkan pengguna untuk mendapatkan token akses baru tanpa mencatat ulang.
CALORIENINJAS_API_KEY : Kunci ini memungkinkan akses ke API Calorieninjas
CIPHERIV_SECRET_KEY : kunci yang digunakan untuk enkripsi dan mendekripsi tautan yang dapat dibagikan sensitif
SHAREABLE_LINK_BASE_URL : Variabel ini mendefinisikan URL dasar yang digunakan untuk menghasilkan tautan yang dapat dibagikan di aplikasi Anda (misalnya, http://myapp.com/page?id=1 )
DATASAX_ASTRA_TOKEN : Token yang digunakan untuk mengotentikasi dengan database DataStax Astra. DATASAX_ASTRA_DB_NAME : Nama database yang Anda gunakan di DataStax Astra. DATASAX_ASTRA_API_Endpoint : Titik akhir API untuk berkomunikasi dengan DataStax Astra (misalnya, https://<database-id>-<region>.apps.astra.datastax.com ).
NEO4J_URL : URL koneksi ke instance database NEO4J Anda. Ini biasanya mengikuti bolt:// protokol (misalnya, bolt://localhost:7687 untuk contoh lokal). NEO4J_USER : Nama pengguna yang digunakan untuk otentikasi neo4j. NEO4J_PASSWORD : Kata sandi yang digunakan untuk otentikasi Neo4J. NEO4J_DATABASE : Nama basis data spesifik yang digunakan dalam NEO4J.
Klon proyek
git clone https://github.com/kaleabteweld/Agelgil-primer-healthy-recipe-hub-backendPergi ke Direktori Proyek
cd Agelgil-primer-healthy-recipe-hub-backendInstal dependensi
npm installMulai server pengembangan (akan mengatur node_env ke pengembangan)
npm run devUntuk menjalankan tes, jalankan perintah berikut
npm run test