# Nucleus ile proje geliştirme -  Proje altyapısını kurma ve çalıştırma - #Part1 - #tr

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 kullanarak yeni uygulamalar geliştirebilirsiniz. Başlangıç olarak kullanıcı yönetimi ve rol yönetimi  için altyapı sağlar. 

Aşağıdaki adresten projeyi inceleyebilir ve destek olabilirsiniz.

%[https://github.com/alirizaadiyahsi/Nucleus]






## Projenin gereksinimleri yüklenmesi
Projenin çalışması için bazı gereksinimlerin yüklenmesi gerekiyor.
- Node.js
- Dotnet Core 
- Docker
- Vs Code 

## Projeyi klonlayıp bilgisayarda açmak

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.
```
git clone https://github.com/eymel/Nucleus.git

```
Terminal üzerinden projenin dizinine gidiyoruz.

```
cd Nucleus/ 
``` 
Vs Code ile projeyi açıyoruz.

```
code .
``` 

## Projeyi çalıştırma
Geliştirme yapmadan  önce uygulamamızı çalıştırmak için aşağıdaki adımları izlememiz gerekiyor

### Veritabanı kurulumu 
Veritabanı için `PostgreSQL` yüklü olması gerekiyor. Bunu direk olarak indirebiliriz fakat biz docker kullanarak PostgresSQL'i bilgisayarımıza kuracağız.

```
docker-compose up -d postgres_image
``` 

Sonuç: 
![image.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1609245217353/nWiJkjq2g.png)
- `docker-compose` komutu bizim için `docker-compose.yml` dosyasındaki tanımları kullanarak container oluşturmamızı sağlıyor. 

- Veritabanını yönetmek için  [pgAdmin](https://www.pgadmin.org/) uygulamasını indirebilirsiniz.



### Api(dotnet core)  Uygulamasının Çalıştırma
#### Eklenti kurulumu (sadece VsCode için)
Vs Code indirildiyse eğer `dotnet core` uygulamalarını çalıştırmak için eklenti kurmanız gerekiyor.
- C# for Visual Studio Code (powered by OmniSharp)

#### Uygulamanın veritabanını güncellemesi 
Veritabanını güncellemek için `dotnet-ef` paketinin yüklü olması gerekiyor. Projenin ana dizininde aşağıdaki komutu çalıştırıyoruz.
```
dotnet tool install --global dotnet-ef --version 5.0.1
``` 
Sonuç: 

![image.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1609246312274/AwADbDZZu.png)

#### Uygulamanın tablolarını oluşturma
`Dotnet-ef` yüklendikten sonra veritabanı içerisinde tabloları oluşturmamız gerekiyor.

````
cd src/Nucleus.EntityFramework/ && dotnet ef database update --startup-project ../Nucleus.Web.Api/Nucleus.Web.Api.csproj

``` 
Sonuç:

![image.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1609246673068/l9sKycAxj.png)

 #### Api projesinin çalıştırılması
- Uygulamayı çalıştırmak için `F5` tuşuna basmamız gerekiyor.

Sonuç: 

![image.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1609246763732/e0OXQzgvO.png)

 #### Api projesinin test etmek
 [http://localhost:36222/swagger](http://localhost:36222/swagger) bu adresi tarayıcı üzerinden açtığımızda aşağıdaki ekranla karşılaşmamız gerekiyor.

![image.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1609246910338/rxoooiLUk.png)


### Vue.js projesini çalıştırma
Vue.js projesini çalıştırmak için bilgisayarımızda  [node.js](https://nodejs.org/) yüklü olması gerekiyor.

#### Gerekli paketlerin yüklenmesi
Projenin ana dizini içerisinden `src/Nucleus.Web.Vue/` dizinine gitmemiz gerekiyor.
```
cd src/Nucleus.Web.Vue/
``` 
Projenin paketlerini yüklemek için  [yarn](https://yarnpkg.com/) paket yöneticisini kullanıyoruz.

```
yarn install
``` 
Sonuç:
 
![image.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1609247425452/bhBZVf_lx.png)

#### Vue.js projesinin çalıştırılması
Projeyi çalıştırmak için `src/Nucleus.Web.Vue/` dizini içerisindeyken aşağıdaki komutu çalıştırıyoruz.

```
yarn serve
``` 
Sonuç:

![image.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1609249768002/dVwMp7lQi.png)

#### Vue.js projesini test etme
 [http://localhost:8080](http://localhost:8080) bu adresi tarayıcı üzerinden açtığımızda aşağıdaki ekranla karşılaşmamız gerekiyor.


![image.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1609250643158/bsnkFFcem.png)


 Uygulamaya `admin/123qwe` bilgileriyle giriş yapabilirsiniz.


> Not: Giriş yaparken sıkıntı yaşıyorsanız `Api` projesinin çalıştığından emin olmalısınız.



![image.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1609250721378/g7oIBee38.png)



## Sonuç

Projeyi kendi bilgisayarımıza indirdik ve çalıştırdık. Bir sonraki yazıda basit bir not defteri yapmaya çalışacağım.


Daha fazlası için Twitter ve Github üzerinden takip etmeyi unutmayın

Sevgiler













