Nutrimate adalah platform digital untuk ahli gizi berbasis workflow ADIME (Assessment, Diagnosis, Intervention, Monitoring, and Evaluation) (Nutrition Care Process). Aplikasi ini berfungsi sebagai clinical operating system untuk membantu analisis, diagnosis, intervensi, dan monitoring pasien secara terintegrasi.
- Authentication & Authorization: JWT-based authentication (Access & Refresh tokens).
- User Management: Registrasi dan manajemen profil pengguna/pasien.
- Body Profile Tracking: Pencatatan dan tracking profil tubuh pengguna (berat badan, tinggi badan, dsb) beserta riwayatnya.
- Internal Bot Integration: Endpoint khusus untuk integrasi dengan WhatsApp Bot (Baileys) untuk pengecekan nomor terdaftar dan operasional bot.
- ADIME Workflow Support: Mendukung alur kerja ahli gizi dari asesmen hingga evaluasi.
- API Documentation: Dokumentasi API interaktif menggunakan Swagger UI.
- Framework: NestJS (v11)
- Database: PostgreSQL
- ORM: TypeORM
- Authentication: Passport.js (JWT) & bcrypt
- Validation: class-validator & class-transformer
- API Docs: Swagger (
@nestjs/swagger)
Pastikan Anda telah menginstal:
- Node.js (v20 atau lebih baru direkomendasikan)
- pnpm (Package manager)
- PostgreSQL
- Clone repository ini:
git clone https://github.com/Ibrahimad98/nutrimate-app.git
cd nutrimate-app- Install dependencies:
pnpm install- Setup Environment Variables:
Buat file
.envdi root folder dan konfigurasikan variabel berikut (sesuaikan dengan environment lokal Anda):
# Database Configuration
DB_HOST=localhost
DB_PORT=5432
DB_USER=postgres
DB_PASSWORD=yourpassword
DB_NAME=nutrimate_db
# JWT Configuration
JWT_SECRET=your_jwt_secret_key
JWT_EXPIRES_IN=15m
JWT_REFRESH_SECRET=your_jwt_refresh_secret_key
JWT_REFRESH_EXPIRES_IN=7d- Jalankan Migrasi & Seeding Database:
pnpm run migration:run
pnpm run seed# development
$ pnpm run start
# watch mode (direkomendasikan untuk development)
$ pnpm run start:dev
# production mode
$ pnpm run start:prodSetelah aplikasi berjalan, dokumentasi API (Swagger) dapat diakses melalui browser pada endpoint yang telah ditentukan (biasanya di /api atau /docs tergantung konfigurasi bootstrap).
Aplikasi ini menggunakan TypeORM. Perintah yang tersedia:
pnpm run migration:generate src/database/migrations/Name- Membuat file migrasi baru dari perubahan entitypnpm run migration:run- Menjalankan migrasi ke databasepnpm run migration:revert- Rollback migrasi terakhir
Nutrimate - Empowering Nutritionists with Digital Solutions