Criando um projeto em Ruby on Rails
Tags: ruby, rails, tutorial
Published: 2020-09-27 19:41:23

Olá, dev! Resolvi compartilhar um pouco sobre o que estou estudando de [Rails](https://rubyonrails.org/) 6. Sendo assim, vou criar uma série de posts onde abordo alguns temas iniciais como: iniciar um projeto, realizar um CRUD (Create, Read, Update, Delete), aplicar [DRY](https://pt.wikipedia.org/wiki/Don%27t_repeat_yourself) nos arquivos HTML, upload de imagens, autenticação etc.

Mas antes, se está pensando se realmente vale a pena aprender esse framework, então recomendo ler esse [excelente post](https://becode.com.br/por-que-aprender-ruby-on-rails/) de um chará meu.

Neste post irei começar um clássico projeto de lista de tarefas, pode parecer simples, mas por meio dele consiguirei passar vários pontos desse framework. Está pronto!? Então abra o editor e prepare o café!

Para criar um projeto é necessário ter o Rails instalado em sua máquina, [neste link](https://guides.rubyonrails.org/getting_started.html#creating-a-new-rails-project-installing-rails) você encontra tudo que é necessário ter previamente para instalá-lo.

Agora, já podemos dar o nosso primeiro comando que irá criar o projeto:
``` 
rails new Listas
```
`Listas` é o nome do projeto que será criado, fique a vontade para escolher o seu!

Talvez demore por ser a primeira vez que você está criando um projeto, mas isso é normal. Se tudo der certo, deve aparecer uma mensagem parecida com essa para você:

![projeto rails criado](https://dev-to-uploads.s3.amazonaws.com/i/ma8sf2f8r8o561cyzcxf.png)

Ao entrar no projeto, você irá se deparar com muitas pastas e arquivos, mas não se assuste! Existem 3 pastas que são do nosso interesse agora: 
- app: local onde ficará a maior parte do código da nossa aplicação;
- config: pasta com os arquivos de configuração e, em especial, o arquivo das rotas;
- db: pasta que irá guardar o nosso banco de dados e os arquivos de [migrations](https://medium.com/@juniorb2s/migrations-o-porque-e-como-usar-12d98c6d9269).

Além dessas, existem várias outras e que você pode encontrar uma breve descrição [aqui](https://guides.rubyonrails.org/getting_started.html#creating-the-blog-application)

Bom, agora o que nos resta é ver toda a arquitetura do Rails funcionando. Para isso, digite o seguinte comando dentro do seu projeto:

```
rails server
```
e acessar a url `localhost:3000` que irá encontrar a seguinte tela:
![tela inicial rails](https://dev-to-uploads.s3.amazonaws.com/i/xr5m74t6akzemk7tg6xt.png)

Parabéns! Já temos a nossa arquitetura básica funcionando, agora só falta sairmos desenvolvendo a vontade.

### Que tal entender mais sobre a arquitetura do Rails?
Ele é baseado na arquitetura de software Model View Controller(MVC). Nessa arquitetura o código é dividido em três partes principais:
- Model: responsável pela criação dos modelos das entidades do projeto e é um espelho das tabelas no banco de dados;
- View: responsável pela parte que interage com o usuário e que pega dados dessa interassão e envia ao controller;
- Controller: responsável por comportar as regras de negócio do projeto, intermede a comunicação entre a View e a Model.

![imagem exemplo MVC](https://dev-to-uploads.s3.amazonaws.com/i/izglkimym7ag0osihc63.jpg)

[Neste artigo](https://www.devmedia.com.br/introducao-ao-padrao-mvc/29308) você pode encontrar uma visão mais detalhada desse padrão.

E ae!? Está a fim de ir um pouco mais além? No [próximo post](https://dev.to/jackson541/crud-em-ruby-on-rails-4io4) irei falar sobre o crud da aplicação que iniciamos hoje, espero você lá!