main.go 730 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. package main
  2. import (
  3. "fmt"
  4. "log"
  5. "net/http"
  6. "os"
  7. "asterisk.is/dimesheet/internal/handlers"
  8. "github.com/gorilla/mux"
  9. "github.com/joho/godotenv"
  10. )
  11. func getEnv(key, defaultVal string) string {
  12. if val, ok := os.LookupEnv(key); ok && val != "" {
  13. return val
  14. }
  15. return defaultVal
  16. }
  17. func main() {
  18. // Load .env file
  19. err := godotenv.Load()
  20. if err != nil {
  21. fmt.Println("Error loading .env file")
  22. }
  23. r := mux.NewRouter()
  24. r.HandleFunc("/api", handlers.RootHandler)
  25. r.HandleFunc("/api/clients", handlers.GetClients)
  26. r.HandleFunc("/api/events", handlers.EventsHandler)
  27. // Start the server
  28. port := ":" + getEnv("PORT", "8321")
  29. fmt.Printf("Starting server at %s\n", port)
  30. log.Fatal(http.ListenAndServe(port, r))
  31. }