<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Eyüp Yıldırım's Blog]]></title><description><![CDATA[Eyüp Yıldırım's Blog]]></description><link>https://blog.eyup.me</link><generator>RSS for Node</generator><lastBuildDate>Tue, 28 Apr 2026 04:21:30 GMT</lastBuildDate><atom:link href="https://blog.eyup.me/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[Nucleus ile proje geliştirme -  Proje altyapısını kurma ve çalıştırma - #Part1 - #tr]]></title><description><![CDATA[Bu yazıda github üzerinde open source olarak paylaşılan nucleus projesiyle nasıl uygulama yazabileceğimizi göstermek istiyorum. 
Nucleus Nedir?
Nucleus, dotnet core ve vue.js  ile geliştirilen açık kaynaklı bir proje altyapısıdır. Bu projeyi kullanar...]]></description><link>https://blog.eyup.me/nucleus-ile-proje-gelistirme-proje-altyapisini-kurma-ve-calistirma-part1-tr</link><guid isPermaLink="true">https://blog.eyup.me/nucleus-ile-proje-gelistirme-proje-altyapisini-kurma-ve-calistirma-part1-tr</guid><dc:creator><![CDATA[EYÜP YILDIRIM]]></dc:creator><pubDate>Tue, 29 Dec 2020 18:42:21 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1609253572671/ZWT8vuw5g.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Bu yazıda github üzerinde open source olarak paylaşılan <code>nucleus</code> projesiyle nasıl uygulama yazabileceğimizi göstermek istiyorum. </p>
<h2 id="nucleus-nedir">Nucleus Nedir?</h2>
<p>Nucleus, <code>dotnet core</code> ve <code>vue.js</code>  ile geliştirilen açık kaynaklı bir proje altyapısıdır. Bu projeyi kullanarak yeni uygulamalar geliştirebilirsiniz. Başlangıç olarak kullanıcı yönetimi ve rol yönetimi  için altyapı sağlar. </p>
<p>Aşağıdaki adresten projeyi inceleyebilir ve destek olabilirsiniz.</p>
<div class="embed-wrapper"><div class="embed-loading"><div class="loadingRow"></div><div class="loadingRow"></div></div><a class="embed-card" href="https://github.com/alirizaadiyahsi/Nucleus">https://github.com/alirizaadiyahsi/Nucleus</a></div>
<h2 id="projenin-gereksinimleri-yuklenmesi">Projenin gereksinimleri yüklenmesi</h2>
<p>Projenin çalışması için bazı gereksinimlerin yüklenmesi gerekiyor.</p>
<ul>
<li>Node.js</li>
<li>Dotnet Core </li>
<li>Docker</li>
<li>Vs Code </li>
</ul>
<h2 id="projeyi-klonlayip-bilgisayarda-acmak">Projeyi klonlayıp bilgisayarda açmak</h2>
<p>Projeyi github üzerinden forklayıp kendi bilgisayarımıza yüklüyoruz. Terminal üzerinde aşağıdaki komutu çalıştırıp, kodları bilgisayarınıza indirebilirsiniz.</p>
<pre><code>git <span class="hljs-keyword">clone</span> https:<span class="hljs-comment">//github.com/eymel/Nucleus.git</span>
</code></pre><p>Terminal üzerinden projenin dizinine gidiyoruz.</p>
<pre><code><span class="hljs-built_in">cd</span> Nucleus/
</code></pre><p>Vs Code ile projeyi açıyoruz.</p>
<pre><code><span class="hljs-attribute">code</span> .
</code></pre><h2 id="projeyi-calistirma">Projeyi çalıştırma</h2>
<p>Geliştirme yapmadan  önce uygulamamızı çalıştırmak için aşağıdaki adımları izlememiz gerekiyor</p>
<h3 id="veritabani-kurulumu">Veritabanı kurulumu</h3>
<p>Veritabanı için <code>PostgreSQL</code> yüklü olması gerekiyor. Bunu direk olarak indirebiliriz fakat biz docker kullanarak PostgresSQL'i bilgisayarımıza kuracağız.</p>
<pre><code>docker-compose up -d postgres_image
</code></pre><p>Sonuç: 
<img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1609245217353/nWiJkjq2g.png" alt="image.png" /></p>
<ul>
<li><p><code>docker-compose</code> komutu bizim için <code>docker-compose.yml</code> dosyasındaki tanımları kullanarak container oluşturmamızı sağlıyor. </p>
</li>
<li><p>Veritabanını yönetmek için  <a target="_blank" href="https://www.pgadmin.org/">pgAdmin</a> uygulamasını indirebilirsiniz.</p>
</li>
</ul>
<h3 id="apidotnet-core-uygulamasinin-calistirma">Api(dotnet core)  Uygulamasının Çalıştırma</h3>
<h4 id="eklenti-kurulumu-sadece-vscode-icin">Eklenti kurulumu (sadece VsCode için)</h4>
<p>Vs Code indirildiyse eğer <code>dotnet core</code> uygulamalarını çalıştırmak için eklenti kurmanız gerekiyor.</p>
<ul>
<li>C# for Visual Studio Code (powered by OmniSharp)</li>
</ul>
<h4 id="uygulamanin-veritabanini-guncellemesi">Uygulamanın veritabanını güncellemesi</h4>
<p>Veritabanını güncellemek için <code>dotnet-ef</code> paketinin yüklü olması gerekiyor. Projenin ana dizininde aşağıdaki komutu çalıştırıyoruz.</p>
<pre><code><span class="hljs-attribute">dotnet</span> tool install --global dotnet-ef --version <span class="hljs-number">5</span>.<span class="hljs-number">0</span>.<span class="hljs-number">1</span>
</code></pre><p>Sonuç: </p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1609246312274/AwADbDZZu.png" alt="image.png" /></p>
<h4 id="uygulamanin-tablolarini-olusturma">Uygulamanın tablolarını oluşturma</h4>
<p><code>Dotnet-ef</code> yüklendikten sonra veritabanı içerisinde tabloları oluşturmamız gerekiyor.</p>
<pre><code class="lang-`">cd src/Nucleus.EntityFramework/ &amp;&amp; dotnet ef database update --startup-project ../Nucleus.Web.Api/Nucleus.Web.Api.csproj
</code></pre>
<p>Sonuç:</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1609246673068/l9sKycAxj.png" alt="image.png" /></p>
<h4 id="api-projesinin-calistirilmasi">Api projesinin çalıştırılması</h4>
<ul>
<li>Uygulamayı çalıştırmak için <code>F5</code> tuşuna basmamız gerekiyor.</li>
</ul>
<p>Sonuç: </p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1609246763732/e0OXQzgvO.png" alt="image.png" /></p>
<h4 id="api-projesinin-test-etmek">Api projesinin test etmek</h4>
<p> <a target="_blank" href="http://localhost:36222/swagger">http://localhost:36222/swagger</a> bu adresi tarayıcı üzerinden açtığımızda aşağıdaki ekranla karşılaşmamız gerekiyor.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1609246910338/rxoooiLUk.png" alt="image.png" /></p>
<h3 id="vuejs-projesini-calistirma">Vue.js projesini çalıştırma</h3>
<p>Vue.js projesini çalıştırmak için bilgisayarımızda  <a target="_blank" href="https://nodejs.org/">node.js</a> yüklü olması gerekiyor.</p>
<h4 id="gerekli-paketlerin-yuklenmesi">Gerekli paketlerin yüklenmesi</h4>
<p>Projenin ana dizini içerisinden <code>src/Nucleus.Web.Vue/</code> dizinine gitmemiz gerekiyor.</p>
<pre><code><span class="hljs-built_in">cd</span> src/Nucleus.Web.Vue/
</code></pre><p>Projenin paketlerini yüklemek için  <a target="_blank" href="https://yarnpkg.com/">yarn</a> paket yöneticisini kullanıyoruz.</p>
<pre><code><span class="hljs-attribute">yarn</span> install
</code></pre><p>Sonuç:</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1609247425452/bhBZVf_lx.png" alt="image.png" /></p>
<h4 id="vuejs-projesinin-calistirilmasi">Vue.js projesinin çalıştırılması</h4>
<p>Projeyi çalıştırmak için <code>src/Nucleus.Web.Vue/</code> dizini içerisindeyken aşağıdaki komutu çalıştırıyoruz.</p>
<pre><code><span class="hljs-attribute">yarn</span> serve
</code></pre><p>Sonuç:</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1609249768002/dVwMp7lQi.png" alt="image.png" /></p>
<h4 id="vuejs-projesini-test-etme">Vue.js projesini test etme</h4>
<p> <a target="_blank" href="http://localhost:8080">http://localhost:8080</a> bu adresi tarayıcı üzerinden açtığımızda aşağıdaki ekranla karşılaşmamız gerekiyor.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1609250643158/bsnkFFcem.png" alt="image.png" /></p>
<p> Uygulamaya <code>admin/123qwe</code> bilgileriyle giriş yapabilirsiniz.</p>
<blockquote>
<p>Not: Giriş yaparken sıkıntı yaşıyorsanız <code>Api</code> projesinin çalıştığından emin olmalısınız.</p>
</blockquote>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1609250721378/g7oIBee38.png" alt="image.png" /></p>
<h2 id="sonuc">Sonuç</h2>
<p>Projeyi kendi bilgisayarımıza indirdik ve çalıştırdık. Bir sonraki yazıda basit bir not defteri yapmaya çalışacağım.</p>
<p>Daha fazlası için Twitter ve Github üzerinden takip etmeyi unutmayın</p>
<p>Sevgiler</p>
]]></content:encoded></item></channel></rss>