Sobes.tech
Junior — Middle

Împărtășiți detaliile ultimului proiect profesional sau sarcină pe care ați rezolvat-o recent.

sobes.tech AI

Răspuns de la AI

În ultimul meu proiect în Go, am dezvoltat o API REST pentru un sistem de gestionare a sarcinilor. Sarcina principală a fost crearea unui serviciu fiabil și scalabil, care să permită crearea, actualizarea și ștergerea sarcinilor, precum și filtrarea lor după stare și prioritate.

Pentru aceasta, am folosit pachetul standard net/http pentru gestionarea cererilor, precum și biblioteca gorilla/mux pentru rutare. Ca stocare de date, am folosit PostgreSQL cu ORM-ul GORM.

Exemplu de handler pentru crearea unei sarcini:

func createTaskHandler(w http.ResponseWriter, r *http.Request) {
    var task Task
    err := json.NewDecoder(r.Body).Decode(&task)
    if err != nil {
        http.Error(w, "Intrare invalidă", http.StatusBadRequest)
        return
    }
    if err := db.Create(&task).Error; err != nil {
        http.Error(w, "Nu s-a putut crea sarcina", http.StatusInternalServerError)
        return
    }
    w.WriteHeader(http.StatusCreated)
    json.NewEncoder(w).Encode(task)
}

De asemenea, am implementat middleware pentru logarea cererilor și gestionarea erorilor, ceea ce a îmbunătățit suportul și depanarea serviciului.