Skip to content

alnck/go-order-application

Repository files navigation

Order Application

Birbirleri ile haberleşen minimum iki microservice'in olduğu bir yapıdır. Müşteri (customer) ve sipariş (order) oluşturulması hedeflenmiştir.

Çalıştırma (Running) ve Kullanımı (How to use)

docker compose up : Bu komutu order-application içerisinde çalıştırarak projeyi ayağa kaldırabilirsiniz.

docker compose down : container'ları silmek için kullanabilirsiniz. Image'lar silinmez.

API Base Endpoint (BASE_ENPOINT): http://localhost:5000/

Customer Endpoints

[HttpGet] [BASE_ENDPOINT]/customer

[HttpGet] [BASE_ENDPOINT]/customer/{id}

[HttpGet] [BASE_ENDPOINT]/customer/validate/{id}

[HttpPost] [BASE_ENDPOINT]/customer

[HttpPut] [BASE_ENDPOINT]/customer

[HttpDelete] [BASE_ENDPOINT]/customer/{id}

  • Örnekler curl ile (Examples with curl)

Müşteri listeleme (Customer List): curl -X 'GET' \ '[BASE_ENDPOINT]/customer?page=1&limit=10' \ -H 'accept: text/plain'

Müşteri oluşturma (Create Customer): curl -X 'POST' \ '[BASE_ENDPOINT]/customer' \ -H 'accept: text/plain' \ -H 'Content-Type: application/json' \ -d '{ "name":"NameTest", "email": "[email protected]", "address": { "addressLine":"AdresTest", "country": "CountryTest", "city":"CityTest", "cityCode": 34 } }'

Müşteri detayları (Customer Details): curl -X 'GET' \ '[BASE_ENDPOINT]/customer/{id}' \ -H 'accept: text/plain'

Müşteri sil (Delete Customer): curl -X 'DELETE' \ '[BASE_ENDPOINT]/customer/{id}' \ -H 'accept: */*'

Order Endpoints

[HttpGET] [BASE_ENDPOINT]/order

[HttpGET] [BASE_ENDPOINT]/order/{id}

[HttpGET] [BASE_ENDPOINT]/order/GetByCustomerId/{id}

[HttpPost] [BASE_ENDPOINT]/order

[HttpPut] [BASE_ENDPOINT]/order

[HttpPut] [BASE_ENDPOINT]/order/{id}

[HttpDelete] [BASE_ENDPOINT]/order/{id}

  • Örnekler curl ile (Examples with curl)

Order listeleme (Order List): curl -X 'GET' \ '[BASE_ENDPOINT]/order?page=1&limit=10' \ -H 'accept: text/plain'

Order Oluşturma (Create Order): curl -X 'POST' \ '[BASE_ENDPOINT]/order' \ -H 'accept: text/plain' \ -d ''

Order listeleme (Order List): curl -X 'GET' \ '[BASE_ENDPOINT]/order/{id}' \ -H 'accept: text/plain'

Teknik Tasarım

Müşteriler

Sistemde teorik anlamda sınırsız sayıda müşteri kaydı yapılabilmektedir.

Veri yapısındaki alanlar aşağıdaki gibidir:

  • UUID: "required"
  • Name: "required"
  • Email: "required"
  • Address: "required"
    • AddressLine:
    • City: "required"
    • Country: "required"
    • CityCode: "required"
  • CreatedAt: "required"
  • UpdatedAt: "required"

Siparişler

Sistemde teorik anlamda sınırsız sayıda sipariş kaydı yapılabilmektedir.

Veri yapısındaki alanlar aşağıdaki gibidir:

  • UUID: "required"
  • CustormerId: "required"
  • Quantity: "required"
  • Price: "required"
  • Status: "required"
  • Address: "required"
    • AddressLine:
    • City: "required"
    • Country: "required"
    • CityCode: "required"
  • Product: "required"
    • UUID: "required"
    • ImageUrl: "required"
    • Name: "required"
  • CreatedAt: "required"
  • UpdatedAt: "required"

Teknik Detaylar

  • Kullanılan teknolojiler:
    • Golang
    • .NET Core
    • MongoDB
    • Ocelot
    • Docker compose

Mimari Yapı

orderApp

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published