Code Monkey home page Code Monkey logo

patika-dev-unlu-co-net-bootcamp-projects's Introduction

Patika-dev-Unlu-Co-Net-Bootcamp-Projects

1. Hafta Ödev

Restful Api Geliştirin

  • Rest standartlarna uygun olmalıdır.
  • GET,POST,PUT,DELETE,PATCH methodları kullanılmalıdır.
  • Http status code standartlarına uyulmalıdır. Error Handler ile 500, 400, 404, 200, 201 hatalarının standart format ile verilmesi
  • Modellerde zorunlu alanların kontrolü yapılmalıdır.
  • Routing kullanılmalıdır.
  • Model binding işlemleri hem body den hemde query den yapılacak şekilde örneklendirilmelidir.

Bonus:

  • Standart crud işlemlerine ek olarak, listeleme ve sıralama işlevleride eklenmelidir. Örn: /api/products/list?name=abc

2. Hafta Ödev

Restful Api Geliştirin

  • ilk hafta geliştirdiğiniz api kullanılacaktır.
  • Rest standartlarına uygun olmalıdır.
  • solid prensiplerine uyulmalıdır.
  • Fake servisler geliştirilerek Dependency injection kullanılmalıdır.
  • api nizde kullaınılmak üzere extension geliştirin.
  • Projede swagger implementasyonu gerçekleştirilmelidir.
  • global loglama yapan bir middleware(sadece actiona girildi gibi çok basit düzeyde)

Bonus

  • Fake bir kullanıcı giriş sistemi yapın ve custom bir attribute ile bunu kontrol edin.
  • global exception middleware i oluşturun

3. Hafta Ödev + Week 2 WebApi Improvement(CQRS,Generic Repository) + CleanArch

Her bölümde yapılan işlemler hakkındaki açıklamaları proje klasöründe aşama aşama bulabilirsiniz.

  1. Patikadev yapısını düşünerek bir db oluşturun
  • eğitimler, öğrenciler,katılımcılar,eğitmenler,asistanlar, eğitimde öğrencilerin yoklamalarının ve başarı durumlarının tutulduğu tablolar olacaktır.
  • veritipleri ve ilişkiler belirtilmelidir.
  1. trigger yazın
  • öğrenci yoklaması girildiğinde. yoklama durumuna göre başarı durumunu hafta bazlı olarak güncelleyin.(Örn: eğitim 7 hafta olsun. ilk iki hafta derslere katıldı ise başarı oranı 2/7 nin % olarak karşılı olmalı.)
  1. stored procedure yazın
  • öğrencileri eğitimlere ekleyen bir procedure olacak. öğrenci belirtilen eğitim tarihinde herhangi başka bir eğitime kayıtlı olmamalıdır.
  1. view yazın
  • eğitim bazlı öğrencileri listeleyin(gruplu olarak)

Bonus

  • Aynı yapıyı ef code first olarak sadece model bazında oluşturun

3. Hafta Ödev

  1. Veri tabanının tabloları oluşturuldu ve tablolar arası ilişkiler oluşturuldu. Aşağıdaki diagramdan inceleyebilirisiniz. Diagram
  2. UpdateStudentSuccessStatusWeekly isimli Trigger oluşturuldu.
  3. SP_RegisterNewStudent adlı store proc oluşturuldu.
  4. OrderByCourseId ve ListStudentDetails adlı iki view oluşturuldu.
  5. Backup dosyası yüklendi.

4. hafta

Restful api oluşturun

  • Api tekrardan sıfırdan oluşturuldu
  • Kullanıcı işlemleri için Asp.NET Core Identity altyapısını kullanıldı
  • Api de yetkilendirme işlemleri için JWT kullanıldı
  • Bir tane local result filter oluşturuldu ve her ürün yükleme response'un da header a verinin oluşturulma/getirilme tarihi saati yazıldı

Bonus

  • rol bazlı yapı tanımlayın

  • Kullanıcı kaydı ve giriş işlemşleri için AuthenticateController oluşturuldu.
  • Token oluşturmak için TokenGenerator sınıfı oluşturuldu.
  • Kullanıcı yekisine göre rolü göz önüne alınarak metotlara erişimi kısıtlandı.
  • Yekisiz kullanıcılara ise sadece kısıtlı ürünü görebilme olanağı tanındı.
  • DTO lar kullanılarak Mmodellerimize erişimi sınırlayarak istediğimiz şekilde veri alma gönderme işlemleri yapıldı.

5. hafta

  1. Hafta başladığım sayfalandırma işleminin url yönlendirme kısmı tamamlandı.

Restful api oluşturun

  • Daha önce oluşturduğunuz apilerden 4. haftada oluşturulan api kullanıldı.
  • Tek bir endpoint ten Filtreleme, sıralama işlemi sayfalandırılarak yapıldı.
  • Demo veri sunan endponte ın memory cache kullanım olanağı sunuldu.
  • help endpoint ine api hakkındaki basit bilgileri in memory cache de tutan ve kullanımını sağlayan bir yapı geliştirişdi.
  • help endpointinde response cache mekanizmasını kullanıldı
  • Servis oluşturulmadan direk injection yapılarak Disributed cache olarak redis e yazma okuma işlemi endt point e eklendi
  • Bir de Distributed cache olarak redis e yazan ve okuyan bir cache yönetim servisi yazıldı. Sorgu adedi 100 ve üzeri olursa istenilen zaman aralığında cache yazma ve okuma eklendi. Bknz(IDisributedCacheRedisService)

patika-dev-unlu-co-net-bootcamp-projects's People

Contributors

baristutakli avatar

Watchers

 avatar  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.