Skip to content

Instantly share code, notes, and snippets.

View davidleandro's full-sized avatar

David Leandro davidleandro

View GitHub Profile
require 'httparty'
require 'json'
require 'fileutils'
class CanalEducacaoAPI
include HTTParty
base_uri ''
def initialize()
@options = { headers: { "Content-Type" => "application/json", "Authorization": "" } }
@davidleandro
davidleandro / Dockerfile
Created August 1, 2023 20:22
Estudologia Docker config
# Base image:
FROM ruby:3.1.3
ARG _WORKDIR=/estudologia-api
ARG PORT=3000
# Update and install JavaScript Runtime and PostgreSQL dependencies
RUN apt-get update -qq && apt-get install -y nodejs postgresql-client
# Create a new directory for the application in the container
@davidleandro
davidleandro / script.js
Last active January 25, 2023 01:18
script.js
const options = {
// Required: API key
key: 'PsLAtXpsPTZexBwUkO7Mx5I', // REPLACE WITH YOUR KEY !!!
// Put additional console output
verbose: true,
// Optional: Initial state of the map
lat: 50.4,
lon: 14.3,
@davidleandro
davidleandro / deploy.rb
Created November 23, 2022 19:09
DEPLOY ANTIGO RADIOLOG
# config valid only for current version of Capistrano
lock '3.4.1'
set :application, 'radiolog'
set :repo_url, 'https://<usuario>:<senha>@bitbucket.org/napex/radiolog.git'
set :git_https_username, '<usuario>'
set :git_https_password, '<senha>'
@davidleandro
davidleandro / frontend_test.md
Created July 28, 2022 20:02
Teste para a vaga de frontend da Estudologia.

Teste para a vaga de frontend da Estudologia.

Esse teste será focado em um fluxo de respostas dissertativas onde teremos:

  • Listagem de cadernos de questões

    • Deverá ter um checkbox para filtrar apenas cadernos não respondidas;
    • Ao clicar em um card da lista deverá levar para a tela descrita abaixo.
  • Tela com a pergunta discursiva

    • Deverá aparecer uma pergunta por vez;
  • Deverá ter um textarea para a resposta do aluno;

@davidleandro
davidleandro / Restaurar banco Heroku de outro app
Created May 6, 2022 12:45
Restaurar banco Heroku de outro app
heroku pg:backups capture --app APPNAME_FROM
heroku pg:backups:restore `heroku pg:backups public-url --app APPNAME_FROM` DATABASE_URL --app APPNAME_TO
@davidleandro
davidleandro / populate_answers.rb
Last active April 6, 2022 18:40
Popula respostas para os ultimos 30 dias de cada usuario
user_ids = User.where(status_record: :active).order('RANDOM()').limit(100)
30.times do |i|
date = (Date.today - i.days)
User.where(id: user_ids).each_with_index do |user, z|
datetime_start = Faker::Time.between(from: date.beginning_of_day, to: date.end_of_day)
datetime_end = Faker::Time.between(from: datetime_start, to: date.end_of_day)
daily_grouped_answer = user.daily_grouped_answers.new(datetime_start: datetime_start, datetime_end: datetime_end)
daily_grouped_answer.save(validate: false)
Question.limit(100).order('RANDOM()').each do |question|
@davidleandro
davidleandro / create_sprints_and_slots.rb
Created November 29, 2021 15:03
Criar sprints com slots
count = 0
content_types = ContentType.all
5.times do |i|
2.times do
date = (Date.today - 2.months) + (7*count)
count += 1
UserDetail.includes(:user).where.not(hours_by_week: nil).each_with_index do |user_detail, z|
next if user_detail.user.nil?
sprint = Sprint.new(
hours_by_week: user_detail.hours_by_week,
@davidleandro
davidleandro / terceira_parte
Created February 22, 2019 21:15
LED RGB Arduino
const int pin_verm = 10;
const int pin_verd = 9;
const int pin_azul = 8;
int verm = 255;
int verd = 0;
int azul = 0;
int tempo = 10;
void setup() { }
@davidleandro
davidleandro / segunda_parte
Created February 22, 2019 21:14
LED RGB Arduino
const int pin_verm = 10;
const int pin_verd = 9;
const int pin_azul = 8;
void setup() { }
void loop() {
analogWrite(pin_azul, 0);
for (int verm=0; verm <= 255; verm++){
analogWrite(pin_verm, verm);