package main import ( "5803024003/prak-03-Calvin/internal/handlers" "log" "net/http" "github.com/gorilla/mux" ) func home(w http.ResponseWriter, r *http.Request) { w.Write([]byte("Hello from Task Management API")) } func main() { r := mux.NewRouter() r.HandleFunc("/", home).Methods("GET") // Group management routes r.HandleFunc("/groups", handlers.CreateGroupHandler).Methods("POST") r.HandleFunc("/groups/{groupId}", handlers.GetGroupHandler).Methods("GET") r.HandleFunc("/groups/{groupId}", handlers.RemoveGroupHandler).Methods("DELETE") // Task management routes r.HandleFunc("/groups/{groupId}/tasks", handlers.CreateTaskHandler).Methods("POST") r.HandleFunc("/groups/{groupId}/tasks", handlers.DisplayTasksByGroupHandler).Methods("GET") r.HandleFunc("/tasks", handlers.DisplayTasksHandler).Methods("GET") r.HandleFunc("/tasks/{taskId}", handlers.GetTaskHandler).Methods("GET") r.HandleFunc("/tasks/{taskId}", handlers.UpdateTaskHandler).Methods("PUT") r.HandleFunc("/tasks/{taskId}", handlers.RemoveTaskHandler).Methods("DELETE") r.HandleFunc("/tasks/{taskId}/done", handlers.MarkTaskDoneHandler).Methods("PUT") log.Print("Starting server on :4000") err := http.ListenAndServe(":4000", r) log.Fatal(err) }