Giter Site home page Giter Site logo

integratedmicroservicedietplan's Introduction

Diet Program Recommendation Service

Tentang

Diet Program Service merupakan RESTful API yang dirancang untuk memberikan rekomendasi diet yang dipersonalisasi berdasarkan profil pengguna. API ini mengelola informasi pengguna, termasuk berat badan, tinggi badan, usia, jenis kelamin, tingkat aktivitas, dan tujuan diet. Layanan ini menghitung dan merekomendasikan asupan kalori harian, distribusi makronutrien, dan makanan yang disarankan untuk makanan-makanan berbeda. API ini dibangun menggunakan FastAPI dan menggunakan file JSON untuk penyimpanan data.

Fitur

  • Menambahkan pengguna baru, mengambil detail pengguna, memperbarui informasi pengguna, dan menghapus pengguna dari sistem.
  • Memberikan rekomendasi diet yang dipersonalisasi berdasarkan profil pengguna, termasuk asupan kalori harian, distribusi makronutrien, dan makanan yang disarankan untuk makanan.
  • Data pengguna dan rekomendasi diet disimpan dalam file JSON untuk pengambilan data dan modifikasi data yang mudah.

How to Use

Sebelum menggunakan API Service, terlebih dahulu kita harus mempunyai hal-hal di bawah ini

  • Python 3.6+
  • Uvicorn, untuk menjalankan API Server
  • FastAPI

Instalasi

  1. Clone repository ke local
  2. Install fastapi uvicorn dengan pip :
pip install fastapi uvicorn
  1. Untuk menjalankan server, gunakan command :
uvicorn diet:app --reload

Opsi --reload mengaktifkan penggantian otomatis server saat ada perubahan pada kode.

API Endpoints

General

  • GET /: Root endpoint, akan me-return welcome message.

Users and Diet Recommendations

  • GET /diet: Mendapatkan profil pengguna dan program rekomendasi diet mereka.
  • GET /diet/{user_id}: Mendapatkan program rekomendasi diet pengguna tertentu sesuai dengan user_id.
  • POST /diet: Menambahkan pengguna dan program rekomendasi diet baru.
  • PUT /diet/{user_id}: Meng-update program rekomendasi diet pengguna tertentu sesuai dengan user_id.
  • DELETE /diet/{user_id}: Menghapus pengguna dan program rekomendasi diet.

Models

API ini menggunakan model Pydantic untuk mendefinisikan struktur profil pengguna dan rencana diet yang direkomendasikan.

User Model

  • user_id: Identifier unik untuk pengguna.
  • name: Nama pengguna.
  • weight_kg: Berat pengguna dalam kilogram.
  • height_cm: Tinggi pengguna dalam sentimeter.
  • age: Umur pengguna.
  • gender: Gender pengguna (male/female).
  • activity_level: Level aktivitas pengguna (sedentary, moderate, high).
  • goal: Tujuan diet (weight_loss, muscle_gain, maintenance).
  • recommended_diet: Rekomendasi rencana diet termasuk asupan kalori harian, distribusi makronutrien, dan makanan yang disarankan.

Error Handling

API ini menggunakan kode status HTTP untuk menunjukkan keberhasilan atau kegagalan request:

  • 200 OK: Request berhasil.
  • 400 Bad Request: Invalid request, terutama ketika sedang add duplicate entry.
  • 404 Not Found: Resource yang direquest tidak ketemu.

Data Storage

Profil pengguna dan rekomendasi program diet disimpan dalam file JSON (diet.json).

integratedmicroservicedietplan's People

Contributors

nixondeflin avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.