GithubHelp home page GithubHelp logo

fishmarket's Introduction

FishMarket Uygulaması

FishMarket, bir .NET Core API ve .NET Core MVC projelerini içeren bir uygulamadır. Bu uygulama, balık pazarı işlemlerini simüle eder ve API üzerinden veri sağlar.

Kurulum

  1. Bu projenin kaynak kodlarını almak için aşağıdaki komutu kullanarak GitHub deposunu klonlayın:

    git clone https://github.com/mehmetyagci/FishMarket.git
    
  2. Ardından, klonladığınız dizine geçin:

    cd FishMarket
    
  3. FishMarket.sln solution dosyasını Visual Studio veya başka bir geliştirme ortamında açın.

  4. API projesi, SQL Server veritabanı kullanmaktadır. Veritabanının oluşturulması ve ilişkilendirilmesi gerekmektedir. Bunun için, API projesinin appsettings.json dosyasında veritabanı bağlantı bilgilerini ayarlayın ve ardından veritabanını Code First Migration kullanarak oluşturun. Bu adımı gerçekleştirmek için aşağıdaki komutları sırasıyla kullanabilirsiniz:

    dotnet ef migrations add InitialCreate
    dotnet ef database update
    
  5. FishMarket.API ve FishMarket.MVC projelerini Startup project olarak belirleyin ve Visual Studio'da çalıştırın.

  6. API ve MVC projelerini başlatın ve FishMarket uygulamasını kullanmaya başlayın.

Mimari

FishMarket uygulaması, Onion mimarisi kullanılarak tasarlanmıştır. Katmanlar, birbirinden olabildiğince bağımsız olarak geliştirilmiştir ve aşağıdaki gibi sıralanmıştır:

  • Domain: Sadece Domain Entity 'leri burada tanımlanır.
  • Data: DbContext ve veritabanı schema tanımları burada bulunur.
  • Core: Uygulamanın genel yapılandırma ve temel hizmetleri bu katmanda yer alır. Bağımlılıkları yönetir ve uygulama boyunca kullanılan çekirdek işlevleri sağlar.
  • Repository: Veritabanı ile iletişimi yöneten katmandır. Veri tabanı işlemleri bu katman aracılığıyla gerçekleştirilir.
  • Service: Uygulamanın iş mantığını uygulayan hizmetlerin bulunduğu katmandır. API katmanından gelen istekleri işler ve tüm iş mantığı burada yürütülür.
  • API: Service katmanında yazılan tüm süreçlerin kullanılabilmesini sağlayan servisler sağlar.
  • MVC: Web Katmanı, API katmanına Http istekleri yaparak merkezi olarak
  • DTO: Veri transfer nesnelerinin (DTO'ların) tanımlandığı katmandır. Veri tabanından alınan veya API'den döndürülen verilerin taşınmasında kullanılır. MVC uygulaması da aynı DTO 'ları kullanır.

Project Structure

Kullanılan Kütüphaneler

FishMarket uygulamasında aşağıdaki kütüphaneler kullanılmıştır:

  • EntityFrameworkCore: .NET Core uygulamaları için ORM (Object-Relational Mapping) kütüphanesidir. Veritabanı işlemlerini yönetmek için kullanılır.
  • Automapper: Nesneler arasında veri eşleme işlemlerini kolaylaştırmak için kullanılan bir kütüphanedir.
  • FluentValidation: Giriş validasyonlarını yapmak için kullanılan bir kütüphanedir.
  • xUnit: .NET uygulamaları için bir test çerçevesidir. Birim testlerin yazılması ve çalıştırılması için kullanılır.
  • log4Net: .NET uygulamalarında günlük dosyalarını yönetmek ve olayları kaydetmek için kullanılan bir günlükleme kütüphanesidir.
  • MailKit: .NET uygulamaları için e-posta gönderme işlemlerini yönetmek için kullanılan bir kütüphanedir.
  • JWT token ile authentication: JSON Web Token (JWT) kullanarak kimlik doğrulama ve yetkilendirme işlemlerini sağlamak için kullanılan bir kütüphanedir.

Uygulamanın Kullanımı

FishMarket uygulaması, temel olarak iki modülden oluşmaktadır: API ve Web.

  • API Modülü: Fish ve User servislerini içerir. API modülündeki tüm Fish servisleri için kimlik doğrulaması gereklidir. Bu servisler, kullanıcıların balık işlemlerini yönetmelerine olanak tanır. User servisleri için ise kimlik doğrulaması gerekli değildir.
    API Services
  • Web Modülü: Kullanıcı arayüzünü sağlar ve API üzerinden FishMarket uygulamasına erişim sağlar. Web modülü, kullanıcıların uygulamayı kullanarak balık pazarı işlemlerini gerçekleştirmelerini sağlar. Kimlik doğrulaması, kullanıcı girişi için kullanılır ve Fish servislerine erişim sağlamak için gereklidir. Web UI

fishmarket's People

Contributors

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