-
Notifications
You must be signed in to change notification settings - Fork 0
/
main.go
executable file
·76 lines (57 loc) · 2.13 KB
/
main.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
package main
import (
bookHandler "Portofolio/SistemPerpustakaan/book/handler"
repoBook "Portofolio/SistemPerpustakaan/book/repo"
usecaseBook "Portofolio/SistemPerpustakaan/book/usecase"
categoryHandler "Portofolio/SistemPerpustakaan/category/handler"
repoCategory "Portofolio/SistemPerpustakaan/category/repo"
usecaseCategory "Portofolio/SistemPerpustakaan/category/usecase"
userHandler "Portofolio/SistemPerpustakaan/user/handler"
repoUser "Portofolio/SistemPerpustakaan/user/repo"
usecaseUser "Portofolio/SistemPerpustakaan/user/usecase"
transaksiHandler "Portofolio/SistemPerpustakaan/transaksi/handler"
repoTransaksi "Portofolio/SistemPerpustakaan/transaksi/repo"
usecaseTransaksi "Portofolio/SistemPerpustakaan/transaksi/usecase"
"Portofolio/SistemPerpustakaan/driver"
"fmt"
"log"
"net/http"
"os"
"github.com/gorilla/mux"
"github.com/subosito/gotenv"
)
func init() {
gotenv.Load()
}
func main() {
port := os.Getenv("PORT")
db := driver.Connect()
defer db.Close()
driver.InitTable(db)
router := mux.NewRouter().StrictSlash(true)
bookRepo := repoBook.CreateBookRepoImpl(db)
bookUsecase := usecaseBook.CreateBookUsecaseImpl(bookRepo)
categoryRepo := repoCategory.CreateCategoryRepoImpl(db)
categoryUsecase := usecaseCategory.CreateCategoryUsecaseImpl(categoryRepo)
userRepo := repoUser.CreateUserRepoImpl(db)
userUsecase := usecaseUser.CreateUserUsecaseImpl(userRepo)
transaksiRepo := repoTransaksi.CreateTransaksiRepoImspl(db)
transaksiUsecase := usecaseTransaksi.CreateTransaksiUsecaseImpl(transaksiRepo, bookRepo, userRepo)
transaksiHandler.CreateTransaksiHandler(router, transaksiUsecase)
bookHandler.CreateBookHandler(router, bookUsecase)
categoryHandler.CreateCategoryHandler(router, categoryUsecase)
userHandler.CreateUserHandler(router, userUsecase)
go serverImage()
fmt.Println("Starting web server at port : ", port)
err := http.ListenAndServe(":"+port, router)
if err != nil {
log.Fatal()
}
}
func serverImage() {
fs := http.FileServer(http.Dir("./assets/"))
http.Handle("/", fs)
port := "9093"
fmt.Printf("Starting Image Server at port : " + port)
log.Fatal(http.ListenAndServe(":"+port, nil))
}