decentralized-blogging-platform/main.go
main.goRaw
1package main
2
3import (
4 "fmt"
5 "log"
6 "net/http"
7
8 "github.com/fatih/color"
9 "github.com/gorilla/handlers"
10 mgo "gopkg.in/mgo.v2"
11)
12
13const keysDir = "keys"
14const keysize = 2048
15const hashize = 1536
16
17var userCollection *mgo.Collection
18
19func main() {
20 color.Blue("Starting ipfs-ai-models-market")
21
22 readConfig("config.json")
23 fmt.Println(config)
24
25 initializeToken()
26
27 //mongodb
28 session, err := getSession()
29 check(err)
30 userCollection = getCollection(session, "users")
31
32 //run thw webserver
33 go GUI()
34
35 //run API
36 log.Println("api server running")
37 log.Print("port: ")
38 log.Println(config.APIPort)
39 router := NewRouter()
40 headersOk := handlers.AllowedHeaders([]string{"X-Requested-With", "Access-Control-Allow-Origin"})
41 originsOk := handlers.AllowedOrigins([]string{"*"})
42 methodsOk := handlers.AllowedMethods([]string{"GET", "HEAD", "POST", "PUT", "OPTIONS"})
43 log.Fatal(http.ListenAndServe(":"+config.APIPort, handlers.CORS(originsOk, headersOk, methodsOk)(router)))
44}
45
46func GUI() {
47 //here, run webserver
48 log.Println("webserver in port " + config.WebPort)
49 http.Handle("/", http.FileServer(http.Dir("./webapp")))
50 http.ListenAndServe(":"+config.WebPort, nil)
51}