Setup base structure for project

Signed-off-by: Ashish Malik <b218008@iiit-bh.ac.in>
diff --git a/README.md b/README.md
index 9e76fce..2dd1f85 100644
--- a/README.md
+++ b/README.md
@@ -1 +1,20 @@
-# envoy-authz
\ No newline at end of file
+# envoy-authz
+[![Contributions Welcome](https://img.shields.io/badge/contributions-welcome-brightgreen.svg?style=flat)](https://github.com/casbin/envoy-authz/issues)
+[![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/casbin/lobby)
+[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
+Envoy-authz is a middleware of Envoy which uses authorization through casbin. This proxy would be deployed on any type of service mesh which allows envoy proxies like Istio.
+
+## Installation
+
+```
+go get github.com/casbin/envoy-authz
+```
+## Requirements
+- Istio or any type of service mesh
+- k8s cluster or minikube cluster
+- grpc dependencies
+
+## Community
+
+In case of any query, you can ask on our gitter [channel](https://gitter.im/casbin/lobby).
+
diff --git a/main.go b/main.go
new file mode 100644
index 0000000..c8792b8
--- /dev/null
+++ b/main.go
@@ -0,0 +1,27 @@
+package main
+
+import (
+	"flag"
+	"fmt"
+	"log"
+
+
+	"google.golang.org/grpc"
+	
+	"github.com/golang/glog"
+)
+
+var (
+	grpcPort       = flag.String("grpc", "9000", "gRPC server port")
+
+)
+
+type envoyAuthzServerV3 struct{}
+
+type envoyAuthzServer struct {
+	grpcServer *grpc.Server
+	grpcV3     *envoyAuthzServerV3
+}
+
+
+