improve setup flow
This commit is contained in:
16
README.md
16
README.md
@@ -1,6 +1,16 @@
|
|||||||
# Requisitos
|
# Requisitos
|
||||||
- Docker
|
- Docker (Gerenciador de container)
|
||||||
- docker-compose
|
|
||||||
|
[Instalando Docker no Windows](https://docs.docker.com/desktop/install/windows-install/)
|
||||||
|
|
||||||
# Setup
|
# Setup
|
||||||
- Executar no terminal: './scripts/setup'
|
- Execute `./scripts/setup` para gerar a base do container, esse processo pode demorar um pouco pois será baixada todas as depêndencias do projeto, libs e banco de dados.
|
||||||
|
|
||||||
|
# Levantar a aplicação
|
||||||
|
- Execute `docker-compose up`
|
||||||
|
|
||||||
|
# Executar comandos no container
|
||||||
|
- Execute `./scripts/bash` para executar comandos você precisa entrar no console do container, agora você poderar por exemplo rodar as migrações de dados.
|
||||||
|
- Execute `rails db:migration` para rodar as migrações no banco de dados.
|
||||||
|
- Execute `bundle exec rake environment "user:create_admin[sem.email@example.com, Seu nome]"` para criar seu usuário
|
||||||
|
- Execute `rails db:seed` para popular o banco com os assuntos, exios e categorias
|
||||||
@@ -9,6 +9,7 @@
|
|||||||
# bloom_taxonomy :string
|
# bloom_taxonomy :string
|
||||||
# body :text
|
# body :text
|
||||||
# check_type :string
|
# check_type :string
|
||||||
|
# deleted_at :datetime
|
||||||
# difficulty :string
|
# difficulty :string
|
||||||
# explanation :text
|
# explanation :text
|
||||||
# instruction :text
|
# instruction :text
|
||||||
|
|||||||
108
db/seeds.rb
108
db/seeds.rb
@@ -1,8 +1,100 @@
|
|||||||
# This file should contain all the record creation needed to seed the database with its default values.
|
[
|
||||||
# The data can then be loaded with the bin/rails db:seed command (or created alongside the database with db:setup).
|
{:name=>"Cálculo",
|
||||||
#
|
:category_name=>"Conhecimentos Básicos",
|
||||||
# Examples:
|
:axis_name=>"Algoritmos de Alto Desempenho"},
|
||||||
#
|
{:name=>"Geometria Analítica",
|
||||||
# movies = Movie.create([{ name: "Star Wars" }, { name: "Lord of the Rings" }])
|
:category_name=>"Conhecimentos Básicos",
|
||||||
# Character.create(name: "Luke", movie: movies.first)
|
:axis_name=>"Algoritmos de Alto Desempenho"},
|
||||||
User.create!(email: 'admin@example.com', name: 'Admin User', password: 'password', password_confirmation: 'password')
|
{:name=>"Álgebra Linear",
|
||||||
|
:category_name=>"Conhecimentos Básicos",
|
||||||
|
:axis_name=>"Algoritmos de Alto Desempenho"},
|
||||||
|
{:name=>"Probabilidade e Estatística",
|
||||||
|
:category_name=>"Conhecimentos Básicos",
|
||||||
|
:axis_name=>"Ciência, Tecnologia e Sociedade"},
|
||||||
|
{:name=>"Matemática Discreta",
|
||||||
|
:category_name=>"Conhecimentos Básicos",
|
||||||
|
:axis_name=>"Algoritmos de Alto Desempenho"},
|
||||||
|
{:name=>"Lógica Matemática",
|
||||||
|
:category_name=>"Conhecimentos Básicos",
|
||||||
|
:axis_name=>"Sistemas de Software"},
|
||||||
|
{:name=>"Pesquisa Operacional",
|
||||||
|
:category_name=>"Conhecimentos Básicos",
|
||||||
|
:axis_name=>"Algoritmos de Alto Desempenho"},
|
||||||
|
{:name=>"Cálculo Numérico",
|
||||||
|
:category_name=>"Modelagem e Simulação",
|
||||||
|
:axis_name=>"Ciência, Tecnologia e Sociedade"},
|
||||||
|
{:name=>"Física",
|
||||||
|
:category_name=>"Modelagem e Simulação",
|
||||||
|
:axis_name=>"Infraestrutura de Sistemas Computacionais"},
|
||||||
|
{:name=>"Algoritmos e Estruturas de Dados",
|
||||||
|
:category_name=>"Conhecimentos Básicos",
|
||||||
|
:axis_name=>"Algoritmos de Alto Desempenho"},
|
||||||
|
{:name=>"Projeto e Análise de Algoritmos",
|
||||||
|
:category_name=>"Conhecimentos Básicos",
|
||||||
|
:axis_name=>"Algoritmos de Alto Desempenho"},
|
||||||
|
{:name=>"Programação Estruturada",
|
||||||
|
:category_name=>"Conhecimentos Básicos",
|
||||||
|
:axis_name=>"Sistemas de Software"},
|
||||||
|
{:name=>"Programação Orientada a Objetos",
|
||||||
|
:category_name=>"Conhecimentos Básicos",
|
||||||
|
:axis_name=>"Sistemas de Software"},
|
||||||
|
{:name=>"Programação Funcional",
|
||||||
|
:category_name=>"Conhecimentos Básicos",
|
||||||
|
:axis_name=>"Sistemas de Software"},
|
||||||
|
{:name=>"Programação Web",
|
||||||
|
:category_name=>"Conhecimentos Básicos",
|
||||||
|
:axis_name=>"Sistemas de Software"},
|
||||||
|
{:name=>"Programação para Dispositivos ",
|
||||||
|
:category_name=>"Sistemas Inteligentes",
|
||||||
|
:axis_name=>"Infraestrutura de Sistemas Computacionais"},
|
||||||
|
{:name=>"Engenharia de Software",
|
||||||
|
:category_name=>"Engenharia e Banco de Dados",
|
||||||
|
:axis_name=>"Sistemas de Software"},
|
||||||
|
{:name=>"Banco de Dados",
|
||||||
|
:category_name=>"Engenharia e Banco de Dados",
|
||||||
|
:axis_name=>"Sistemas de Software"},
|
||||||
|
{:name=>"Gerência de Projetos",
|
||||||
|
:category_name=>"Engenharia e Banco de Dados",
|
||||||
|
:axis_name=>"Sistemas de Software"},
|
||||||
|
{:name=>"Arquitetura de Computadores",
|
||||||
|
:category_name=>"Conhecimentos Básicos",
|
||||||
|
:axis_name=>"Infraestrutura de Sistemas Computacionais"},
|
||||||
|
{:name=>"Sistemas Digitais",
|
||||||
|
:category_name=>"Sistemas Inteligentes",
|
||||||
|
:axis_name=>"Infraestrutura de Sistemas Computacionais"},
|
||||||
|
{:name=>"Sistemas Operacionais",
|
||||||
|
:category_name=>"Redes e Sistemas Operacionais",
|
||||||
|
:axis_name=>"Infraestrutura de Sistemas Computacionais"},
|
||||||
|
{:name=>"Redes de Computadores",
|
||||||
|
:category_name=>"Redes e Sistemas Operacionais",
|
||||||
|
:axis_name=>"Infraestrutura de Sistemas Computacionais"},
|
||||||
|
{:name=>"Compiladores",
|
||||||
|
:category_name=>"Sistemas Inteligentes",
|
||||||
|
:axis_name=>"Infraestrutura de Sistemas Computacionais"},
|
||||||
|
{:name=>"Teoria da Computação",
|
||||||
|
:category_name=>"Modelagem e Simulação",
|
||||||
|
:axis_name=>"Algoritmos de Alto Desempenho"},
|
||||||
|
{:name=>"Sistemas Inteligentes",
|
||||||
|
:category_name=>"Sistemas Inteligentes",
|
||||||
|
:axis_name=>"Algoritmos de Alto Desempenho"},
|
||||||
|
{:name=>"Robótica",
|
||||||
|
:category_name=>"Modelagem e Simulação",
|
||||||
|
:axis_name=>"Infraestrutura de Sistemas Computacionais"},
|
||||||
|
{:name=>"Computação Gráfica",
|
||||||
|
:category_name=>"Modelagem e Simulação",
|
||||||
|
:axis_name=>"Algoritmos de Alto Desempenho"},
|
||||||
|
{:name=>"Processamento de Sinais",
|
||||||
|
:category_name=>"Modelagem e Simulação",
|
||||||
|
:axis_name=>"Algoritmos de Alto Desempenho"
|
||||||
|
}
|
||||||
|
].each do |subject|
|
||||||
|
axis = Axis.find_or_create_by!(name: subject[:axis_name])
|
||||||
|
category = Category.find_or_create_by!(name: subject[:category_name])
|
||||||
|
subject = Subject.find_or_create_by!(name: subject[:name], category: category, axis: axis)
|
||||||
|
|
||||||
|
if subject
|
||||||
|
puts "'#{subject.name}' subject created"
|
||||||
|
else
|
||||||
|
puts "Did't create '#{subject[:name]}' subject"
|
||||||
|
end
|
||||||
|
end
|
||||||
9
lib/tasks/create_user.rake
Normal file
9
lib/tasks/create_user.rake
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
namespace :user do
|
||||||
|
task :create_admin, [:email, :name] do |_, args|
|
||||||
|
User.create!(
|
||||||
|
email: args[:email],
|
||||||
|
name: args[:name]
|
||||||
|
)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
5
scripts/bash
Executable file
5
scripts/bash
Executable file
@@ -0,0 +1,5 @@
|
|||||||
|
run(){
|
||||||
|
docker-compose run --rm $args rails $@
|
||||||
|
}
|
||||||
|
|
||||||
|
run bash
|
||||||
@@ -9,6 +9,7 @@
|
|||||||
# bloom_taxonomy :string
|
# bloom_taxonomy :string
|
||||||
# body :text
|
# body :text
|
||||||
# check_type :string
|
# check_type :string
|
||||||
|
# deleted_at :datetime
|
||||||
# difficulty :string
|
# difficulty :string
|
||||||
# explanation :text
|
# explanation :text
|
||||||
# instruction :text
|
# instruction :text
|
||||||
|
|||||||
@@ -9,6 +9,7 @@
|
|||||||
# bloom_taxonomy :string
|
# bloom_taxonomy :string
|
||||||
# body :text
|
# body :text
|
||||||
# check_type :string
|
# check_type :string
|
||||||
|
# deleted_at :datetime
|
||||||
# difficulty :string
|
# difficulty :string
|
||||||
# explanation :text
|
# explanation :text
|
||||||
# instruction :text
|
# instruction :text
|
||||||
|
|||||||
Reference in New Issue
Block a user