Sobes.tech
Junior — Middle

Partilhe detalhes do seu último projeto profissional ou tarefa que resolveu recentemente.

sobes.tech IA

Resposta da IA

No meu último projeto em Go, desenvolvi uma API REST para um sistema de gestão de tarefas. A principal tarefa era criar um serviço fiável e escalável que permitisse criar, atualizar e eliminar tarefas, bem como filtrá-las por estado e prioridade.

Para isso, utilizei o pacote padrão net/http para lidar com as requisições, bem como a biblioteca gorilla/mux para o roteamento. Como armazenamento de dados, utilizei PostgreSQL com o ORM GORM.

Exemplo de um manipulador para criar tarefas:

func createTaskHandler(w http.ResponseWriter, r *http.Request) {
    var task Task
    err := json.NewDecoder(r.Body).Decode(&task)
    if err != nil {
        http.Error(w, "Entrada inválida", http.StatusBadRequest)
        return
    }
    if err := db.Create(&task).Error; err != nil {
        http.Error(w, "Falha ao criar a tarefa", http.StatusInternalServerError)
        return
    }
    w.WriteHeader(http.StatusCreated)
    json.NewEncoder(w).Encode(task)
}

Também implementei middleware para log de requisições e tratamento de erros, o que melhorou o suporte e a depuração do serviço.