Skip to content

165-Softtech-Patika-Java-Spring/bitirmeprojesi-sixper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CONSTRAINTS

username and password must be alpha numerical
username length must be 3-20 long
password length must be 7-30 long
name and surname fields can be empty but maximum length is 30

EXCEPTIONS

All exceptions defined and handled in gen package. Exceptions encapsulated in a generic response form.

RESPONSE

There is a RestResponse model. Succes or fail all responses encapsulated with RestResponse model which is defined in gen package

API Documentation

Swagger preferred

End Points

There are 2 entities User and Product. Update,get,delete,post can be performed either

All other endpoints which is required by project are implemented.

Bitirme Projesi

Projenin Konusu: Bir marketteki ürünlerin satış fiyatlarına göre son fiyatlarını belirleyen servisin Spring Boot Framework kullanılarak yazılması ve isteğe bağlı olarak önyüzünün yazılması.

Gereksinimler:

Backend:

  • Kullanıcıdan kullanıcı adı, şifre, isim, soy isim bilgilerini alarak sisteme kayıt yapılır.
  • Sisteme kayıtlı kullanıcılar market ürünlerinin veri girişini yapabilir.
  • Ürün türlerine göre KDV oranları değişiklik göstermektedir. Bu oranlar aşağıdaki tabloda belirtilmiştir. Zaman zaman KDV oranları değişiklik gösterebilmektedir.

Image

  • Ürün için veri girişi yapacak kullanıcı; ürünün adı, ürünün türü ve vergisiz satış fiyatı alanlarını doldurur. Her bir ürün için KDV Tutarı ve ürünün son fiyatı da hesaplanarak sisteme kaydedilir.

Kurallar ve gereksinimler:

  • Sisteme yeni kullanıcı tanımlanabilir, güncellenebilir ve silinebilir.
  • Sisteme yeni ürünler tanımlanabilir, güncellenebilir ve silinebilir.
  • Ürünlerin fiyatları güncellenebilir.
  • KDV oranları değiştiğinde sistemdeki ürünlere de bu değişiklik yansıtılmalıdır. Herhangi bir hata durumunda tüm işlemler geri alınmalıdır.
  • Tüm ürünler listelenebilmelidir.
  • Ürün türlerine göre ürünler listelenebilmelidir.
  • Belirli bir fiyat aralığındaki ürünler listelenebilmelidir.
  • Ürün türlerine göre aşağıdaki gibi detay veri içeren bir bilgilendirme alınabilmelidir.

Image

Validasyonlar:

  • Aynı kullanıcı adı ile kullanıcı tanımı yapılamaz.
  • Kullanıcı girişi kullanıcı adı & şifre kombinasyonu ile yapılır.
  • Ürün türü, fiyatı, adı gibi alanlar boş olamaz.
  • Ürün fiyatı sıfır ya da negatif olamaz.
  • KDV oranı negatif olamaz.

Authentication:

  • Güvenli endpointler kullanınız. (jwt, bearer vs. )

Response:

  • Başarılı ve başarısız responselar için modeller tanımlayın ve bunları kullanın.

Dökümantasyon:

  • Open API Specification (Swagger tercih sebebi)

Exception Handling:

  • Hatalı işlemler için doğru hata kodlarının dönüldüğünden emin olunuz.

Test:

  • Unit ve integration testleri yazınız.

About

bitirmeprojesi-sixper created by GitHub Classroom

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages