diff --git a/README.md b/README.md
index dad0cce9de0a55102ba4712a4e9c6f7f99886706..91d7c841b6b6bb58555ffdfaba54f73434522555 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,236 @@
 # stillasTracker
-# Version 0.1
-# 
 
+stillasTracker is a software solution which provides MB-Stillas with an API, a database and two-front end solutions.
+The readme will serve as endpoint documentation for the stillastracker API as well as a brief user guide for both of the front end solutions in the repository
+
+## Endpoint-Documentation:
+The following endpoints are available in the current version of the API:
+
+### Scaffolding (stillasdel) endpoints
+
+The scaffolding endpoint has GET, POST, PUT and DELETE functionality. Get requests are used 
+get information regarding scaffolding parts, you can get scaffolding parts based on the queries listed
+in the table below.
+
+**GET requests**
+
+The GET requests fetches scaffolding parts from the database
+```
+/stillastracking/v1/api/unit?type={:type}&id={:id}
+/stillastracking/v1/api/unit?type={:type}
+/stillastracking/v1/api/unit
+```
+**POST and PUT requests**
+
+The post and put requests are used to add in new scaffolding parts or update them.
+```
+/stillastracking/v1/api/unit
+
+Example body:
+{
+    "id": "AB23GW",
+    "type": "Flooring",
+    "project": "CCHamar",
+    "batteryLevel": 100
+}
+```
+
+**DELETE**
+
+The delete request deletes scaffolding units from the database
+```
+/stillastracking/v1/api/unit
+
+Example body:
+[
+    {
+        "id": "4A6352"
+    },
+    {
+        "id": "56GWAG"
+    },
+    {
+        "id": "8GTW21"
+    },
+    {
+        "id": "LPW123"
+    }
+]
+```
+
+
+### Project (byggeprosjekt) endpoints
+This endpoint handles all data regarding projects in the database.
+
+**GET**
+
+These endpoints are used to fetch information regarding projects from the database. Adding scaffolding=true 
+after the endpoint will list all the scaffolding parts associated with the project. 
+```
+/stillastracking/v1/api/project?id={:id}&scaffolding={:scaffolding}
+/stillastracking/v1/api/project?name={:name}&scaffolding={:scaffolding}
+/stillastracking/v1/api/project?id={:id}
+/stillastracking/v1/api/project?name={:name}
+/stillastracking/v1/api/project?id={:id}
+/stillastracking/v1/api/project?scaffolding={:scaffolding}
+/stillastracking/v1/api/project
+/stillastracking/v1/api/storage
+```
+
+**POST and PUT**
+
+The following endpoint is used to add in new scaffoldingparts
+
+```
+/stillastracking/v1/api/project
+
+Example body
+{
+    "projectID":2321112,
+    "projectName":"MBStillas",
+    "latitude":60.79077759591496,
+    "longitude":10.683249543160402,
+    "state":"Active",
+    "size":322,
+    "period":{
+        "startDate":"25-04-2022",
+        "endDate":"30-04-2022"
+        },
+    "customer":{
+        "name":"Martin Ivers",
+        "number":98435621,
+        "email":"martin@mail.no"
+        },
+    "address":{
+        "street":"Halsetsvea 40",
+        "zipcode":"2323",
+        "municipality":"Ingeberg",
+        "county":"Innlandet"
+        },
+        "geofence":{
+            "w-position":{"latitude":-73.98326396942211,"longitude":40.69287790858968},
+            "x-position":{"latitude":-73.98387551307742,"longitude":40.6922433936175},
+            "y-position":{"latitude":-73.98255586624245,"longitude":40.691999347788055},
+            "z-position":{"latitude":-73.98124694824298,"longitude":40.69267453906423}
+        }
+    }
+    
+/stillastracking/v1/api/project/scaffold
+
+Example body:
+{
+    "toProjectID":755,
+    "fromProjectID":12,
+    "scaffold":[{
+        "type":"Bunnskrue",
+        "quantity":1
+    },]
+}
+```
+
+**DELETE** 
+
+The endpoint is used to delete projects
+
+```
+/stillastracking/v1/api/project
+
+Example body:
+[
+    {
+        "id": 430
+    },
+    {
+        "id": 420
+    }
+]
+```
+
+
+### Profile (bruker) endpoints
+
+The endpoint handles user creation,updates and removals. 
+
+**GET**
+
+The endpoints below fetches users from the database
+```
+/stillastracking/v1/api/user?id={:id}
+/stillastracking/v1/api/user?role={:role}
+/stillastracking/v1/api/user
+```
+
+**POST or PUT** 
+
+The endpoint creates or updates users
+```
+/stillastracking/v1/api/user
+
+Example body:
+{
+    "employeeID": 232,
+    "name": "Ola Nordmann",
+    "dateOfBirth": "01.04.1988",
+    "role": "Storage",
+    "admin": true
+}
+```
+
+**DELETE**
+
+The endpoint deletes users from the database
+```
+
+Example body:
+[    
+    {"id" : "12521"},
+    {"id" : "12521"},
+    {"id" : "12521"},
+    {"id" : "12521"},
+]
+```
+
+### Gateway endpoints
+The endpoint handles all management of BLE Gateways in the database
+
+**GET**
+
+The following endpoints can be used to fetch gateways from the database
+```
+/stillastracking/v1/api/gateway?id={:id}
+/stillastracking/v1/api/gateway?projectName={:projectName}
+/stillastracking/v1/api/gateway?projectID={:projectID}
+/stillastracking/v1/api/gateway
+```
+
+**POST or PUT**
+
+The endpoint creates and updates gateways
+```
+/stillastracking/v1/api/gateway
+
+Example body:
+{
+    "Status": true
+    "gatewayID": "34AB954B54E4"
+    "latitude": 59.911491
+    "longitude": 10.757933
+    "projectID": 4
+    "projectName": "CCHamar"
+}
+```
+
+**DELETE**
+
+The endpoint deletes gateways 
+```
+/stillastracking/v1/api/gateway
+
+Example body:
+[    
+    {"id" : "34AB954B54E4"},
+    {"id" : "34AB954BABEE4"},
+    {"id" : "34TQWD21SDAE4"},
+    {"id" : "1241WADQWDQW4"},
+]
+```
\ No newline at end of file
diff --git a/api/tests/diagnostics_test.go b/api/tests/diagnostics_test.go
deleted file mode 100644
index ca8701d290df4ae2117e23918855f2d7ab28bcb4..0000000000000000000000000000000000000000
--- a/api/tests/diagnostics_test.go
+++ /dev/null
@@ -1 +0,0 @@
-package tests
diff --git a/api/tests/scaffolding_test.go b/api/tests/scaffolding_test.go
index 9d99fc7897ccaa9baf706a2ab7b365b324dc6962..c8e236b19068fcd89390a532e464069c97cf86e8 100644
--- a/api/tests/scaffolding_test.go
+++ b/api/tests/scaffolding_test.go
@@ -1,8 +1,10 @@
 package tests
 
 import (
+	"github.com/gorilla/mux"
 	"github.com/steinfletcher/apitest"
 	"net/http"
+	"net/http/httptest"
 	"stillasTracker/api/endpoints"
 	"testing"
 )
@@ -13,12 +15,15 @@ Function for testing the scaffolding endpoint
 */
 func Test_ScaffoldingAPITEST(t *testing.T) {
 	dataBaseTestConnection()
-	handler := http.HandlerFunc(endpoints.ScaffoldingRequest)
+	r := mux.NewRouter()
 
 	//Add list of Scaffoldingparts which sends a post request and creates 12 scaffolding parts
 	t.Run("Add list of Scaffoldingparts", func(t *testing.T) {
+		r.HandleFunc("/stillastracking/v1/api/unit/", endpoints.ScaffoldingRequest)
+		ts := httptest.NewServer(r)
+		defer ts.Close()
 		apitest.New().
-			HandlerFunc(handler).
+			Handler(r).
 			Post("/stillastracking/v1/api/unit/").
 			Body(`[ { "id": 1, "type": "Spire", "batteryLevel": 100, "location": { "longitude": null, "latitude": null, "address":null } }, { "id": 2, "type": "Flooring", "batteryLevel": 100, "location": { "longitude": null, "latitude": null, "address": null } }, { "id": 3, "type": "Short-Flooring", "batteryLevel": 100, "location": { "longitude": null, "latitude": null, "address": null } }, { "id": 4, "type": "Staircase", "batteryLevel": 100, "location": { "longitude": null, "latitude": null, "address": null } }, { "id": 5, "type": "Bottom-Screw", "batteryLevel": 100, "location": { "longitude": null, "latitude": null, "address": null } }, { "id": 6, "type": "Diagonals", "batteryLevel": 100, "location": { "longitude": null, "latitude": null, "address": null } }, { "id": 7, "type": "Beam1", "batteryLevel": 100, "location": { "longitude": null, "latitude": null, "address": null } }, { "id": 8, "type": "Beam2", "batteryLevel": 100, "location": { "longitude": null, "latitude": null, "address": null } }, { "id": 9, "type": "Flooring", "batteryLevel": 100, "location": { "longitude": null, "latitude": null, "address": null } }, { "id": 10, "type": "Flooring", "batteryLevel": 100, "location": { "longitude": null, "latitude": null, "address": null } }, { "id": 11, "type": "Spire", "batteryLevel": 100, "location": { "longitude": null, "latitude": null, "address": null } }, { "id": 12, "type": "Railing", "batteryLevel": 100, "location": { "longitude": null, "latitude": null, "address": null } } ]`).
 			Expect(t).
@@ -29,8 +34,11 @@ func Test_ScaffoldingAPITEST(t *testing.T) {
 
 	//Gets all Scaffolding parts
 	t.Run("Get all Scaffolding parts", func(t *testing.T) {
+		r.HandleFunc("/stillastracking/v1/api/unit/", endpoints.ScaffoldingRequest)
+		ts := httptest.NewServer(r)
+		defer ts.Close()
 		apitest.New().
-			HandlerFunc(handler).
+			HandlerFunc(endpoints.ScaffoldingRequest).
 			Get("/stillastracking/v1/api/unit/").
 			Expect(t).
 			Body("{\"batteryLevel\":100,\"id\":7,\"location\":{\"address\":null,\"latitude\":null,\"longitude\":null},\"type\":\"Beam1\"}\n{\"batteryLevel\":100,\"id\":8,\"location\":{\"address\":null,\"latitude\":null,\"longitude\":null},\"type\":\"Beam2\"}\n{\"batteryLevel\":100,\"id\":5,\"location\":{\"address\":null,\"latitude\":null,\"longitude\":null},\"type\":\"Bottom-Screw\"}\n{\"batteryLevel\":100,\"id\":6,\"location\":{\"address\":null,\"latitude\":null,\"longitude\":null},\"type\":\"Diagonals\"}\n{\"batteryLevel\":100,\"id\":10,\"location\":{\"address\":null,\"latitude\":null,\"longitude\":null},\"type\":\"Flooring\"}\n{\"batteryLevel\":100,\"id\":2,\"location\":{\"address\":null,\"latitude\":null,\"longitude\":null},\"type\":\"Flooring\"}\n{\"batteryLevel\":100,\"id\":9,\"location\":{\"address\":null,\"latitude\":null,\"longitude\":null},\"type\":\"Flooring\"}\n{\"batteryLevel\":100,\"id\":12,\"location\":{\"address\":null,\"latitude\":null,\"longitude\":null},\"type\":\"Railing\"}\n{\"batteryLevel\":100,\"id\":3,\"location\":{\"address\":null,\"latitude\":null,\"longitude\":null},\"type\":\"Short-Flooring\"}\n{\"batteryLevel\":100,\"id\":1,\"location\":{\"address\":null,\"latitude\":null,\"longitude\":null},\"type\":\"Spire\"}\n{\"batteryLevel\":100,\"id\":11,\"location\":{\"address\":null,\"latitude\":null,\"longitude\":null},\"type\":\"Spire\"}\n{\"batteryLevel\":100,\"id\":4,\"location\":{\"address\":null,\"latitude\":null,\"longitude\":null},\"type\":\"Staircase\"}\n").
@@ -40,8 +48,11 @@ func Test_ScaffoldingAPITEST(t *testing.T) {
 
 	//Gets all Scaffolding parts by Flooring
 	t.Run("Get Scaffolding by type", func(t *testing.T) {
+		r.HandleFunc("/stillastracking/v1/api/unit", endpoints.ScaffoldingRequest).Queries()
+		ts := httptest.NewServer(r)
+		defer ts.Close()
 		apitest.New().
-			HandlerFunc(handler).
+			HandlerFunc(endpoints.ScaffoldingRequest).
 			Get("/stillastracking/v1/api/unit").
 			Query("type", "Flooring").
 			Expect(t).
@@ -50,7 +61,7 @@ func Test_ScaffoldingAPITEST(t *testing.T) {
 			End()
 
 		apitest.New().
-			HandlerFunc(handler).
+			HandlerFunc(endpoints.ScaffoldingRequest).
 			Get("/stillastracking/v1/api/unit").
 			Query("type", "Beam1").
 			Expect(t).
@@ -59,7 +70,7 @@ func Test_ScaffoldingAPITEST(t *testing.T) {
 			End()
 
 		apitest.New().
-			HandlerFunc(handler).
+			HandlerFunc(endpoints.ScaffoldingRequest).
 			Get("/stillastracking/v1/api/unit").
 			Query("type", "Staircase").
 			Expect(t).
@@ -71,7 +82,7 @@ func Test_ScaffoldingAPITEST(t *testing.T) {
 	//Gets a specific scaffolding part
 	t.Run("Get Individual Scaffolding part", func(t *testing.T) {
 		apitest.New().
-			HandlerFunc(handler).
+			HandlerFunc(endpoints.ScaffoldingRequest).
 			Get("/stillastracking/v1/api/unit").
 			Query("type", "Flooring").
 			Query("id", "9").
@@ -83,7 +94,7 @@ func Test_ScaffoldingAPITEST(t *testing.T) {
 
 	t.Run("Delete all scaffolding parts", func(t *testing.T) {
 		apitest.New().
-			HandlerFunc(handler).
+			HandlerFunc(endpoints.ScaffoldingRequest).
 			Delete("/stillastracking/v1/api/unit/").
 			Body("[ { \"id\": 7, \"type\": \"Beam1\" }, { \"id\": 8, \"type\": \"Beam2\" }, { \"id\": 5, \"type\": \"Bottom-Screw\" }, { \"id\": 6, \"type\": \"Diagonals\" }, { \"id\": 10, \"type\": \"Flooring\" }, { \"id\": 2, \"type\": \"Flooring\" }, { \"id\": 9, \"type\": \"Flooring\" }, { \"id\": 12, \"type\": \"Railing\" }, { \"id\": 3, \"type\": \"Short-Flooring\" }, { \"id\": 1, \"type\": \"Spire\" }, { \"id\": 11, \"type\": \"Spire\" }, { \"id\": 4, \"type\": \"Staircase\" } ]").
 			Expect(t).