Gerador de frases do Monty Python
help
{{apiData.me.position}}˚ no Ranking
profile pic account_circle
Login Comece agora
Iniciar Desafio Iniciar Desafio Fórum
{{apiData.participant_count}} Participantes
Criado Por: Created by Elton Minetto
Go
Criar APIs
Testar APIs
Ler dados de um banco de dados SQLite

Gerador de frases do Monty Python

Monty Python foi um dos grupos de comediantes mais influentes e reverenciados da história da TV. Vamos criar uma API para gerar frases aleatórias coletadas dos episódios da trupe, de acordo com nosso ator favorito.

Tópicos

Neste desafio você aprenderá:

  • Go
  • Criar APIs
  • Testar APIs
  • Ler dados de um banco de dados SQLite

Requisitos

​ Para este desafio você precisará de:

  • Go versão 1.9 (ou superior)
  • Git

Detalhes

O arquivo database.sqlite é uma base de dados SQLite a qual possui uma tabela chamada scripts com a estrutura:

sqlite> .schema scripts
CREATE TABLE IF NOT EXISTS "scripts" (
"index" INTEGER,
  "episode" INTEGER,
  "episode_name" TEXT,
  "segment" TEXT,
  "type" TEXT,
  "actor" TEXT,
  "character" TEXT,
  "detail" TEXT,
  "record_date" TIMESTAMP,
  "series" TEXT,
  "transmission_date" TIMESTAMP
);
CREATE INDEX "ix_scripts_index"ON "scripts" ("index");

Na coluna detail estão as frases que devem ser apresentadas pela API. Na coluna actor consta o nome do ator.

A API deve responder pelas seguintes URLs:

/v1/quote

Método: GET

Retorna uma frase aleatória de qualquer ator.

/v1/quote/{actor}

Método: GET

Retorna uma frase aleatória do ator passado como parâmetro.

O formato esperado em ambas URLs é uma Response JSON:

{"actor":"John Cleese","quote":"Yes, cigarettes. My hovercraft is full of eels."}
codenation code review

Para receber Code review, compartilhe o link abaixo com colegas ou em nosso fórum de discussões:

codenation code review

Para receber Code review, você precisa primeiramente finalizar o desafio.

{{apiData.participant_count}} Participantes

Para definir seu posicionamento no ranking do desafio, utilizaremos a nota mais alta que tiver conquistado nele. Caso outra pessoa participante obtenha a mesma nota que a sua, o critério de desempate será data e hora de envio da mais recente.

empty ranking Ainda não temos participantes suficientes para o ranking!
Aproveite e seja um dos primeiros a participar desse desafio.
CODE:NOME NOTA
{{candidate.position}}. {{candidate.name}} {{candidate.score.toFixed(2)}}%
Learning Go’s Concurrency Through Illustrations – Trevor Forrey

You’ve most likely heard of Go in one way or another. It’s been increasing in popularity, and for good reason. Go is fast, simple, and has…

Awesome Go

A curated list of awesome #Golang frameworks, libraries and software

http - The Go Programming Language

http - The Go Programming Language

httptest - The Go Programming Language

httptest - The Go Programming Language

sql - The Go Programming Language

sql - The Go Programming Language

gorilla/mux

mux - A powerful URL router and dispatcher for golang.

mattn/go-sqlite3

go-sqlite3 - sqlite3 driver for go using database/sql