diff --git a/server/src/controllers/example.ts b/server/src/controllers/example.ts
deleted file mode 100644
index 07470ee93f37ae46745dc002adf88a4cad77aeee..0000000000000000000000000000000000000000
--- a/server/src/controllers/example.ts
+++ /dev/null
@@ -1,21 +0,0 @@
-import { Response, Request } from "express";
-import example from '../services/example';
-
-export const example1 = async (_: Request, res: Response): Promise<void> => {
-	try {
-		//res.status(200).json({"hello":"example1","database": "a"});
-		res.json(await example.getTest());
-	} catch (error) {
-		res.status(400).send("Bad Request");
-		// res.status(500).send("Internal Server Error");
-	}
-};
-
-export const example2 = async (_: Request, res: Response): Promise<void> => {
-	try {
-		res.status(200).json({"hello":"example2"});
-	} catch (error) {
-		res.status(400).send("Bad Request");
-		// res.status(500).send("Internal Server Error");
-	}
-};
diff --git a/server/src/controllers/postController.ts b/server/src/controllers/postController.ts
new file mode 100644
index 0000000000000000000000000000000000000000..99fa90a1c77d0205dab5fc18c547dd1eed345236
--- /dev/null
+++ b/server/src/controllers/postController.ts
@@ -0,0 +1,80 @@
+import { Response, Request } from "express";
+import query from '../services/db_query';
+import express from 'express';
+const router = express.Router();
+
+interface IPost {
+	title: string;
+	description: string;
+	timestamp: number;
+	owner: string;
+	category: string;
+	imageUrl: string;
+}
+/* ============================= CREATE ============================= */
+// Create posts `/api/post/`
+//'{"title":"test3","description":"test3","timestamp":123123,"owner":"test3","category":"test3","imageUrl":"test3"}'
+router.route('/').post(async (request: Request, response: Response) => {
+	const {title, description, timestamp, owner, category, imageUrl} = request.body;
+	try {
+		const post: IPost = {
+			"title": title,
+			"description": description,
+			"timestamp": timestamp,
+			"owner": owner,
+			"category": category,
+			"imageUrl": imageUrl
+		};
+		if (Object.values(post).filter(p => p == undefined).length > 0) return response.status(500).send("Error");
+		const input = (`INSERT INTO post(title, description, timestamp, owner, category, imageUrl) VALUES (?,?,?,?,?,?)`)
+		return response.status(200).json(
+			await query(input,Object.values(post))
+		);
+	} catch (error) {
+		return response.status(400).send("Bad Request");
+	}
+});
+
+/* ============================= READ ============================= */
+// Get all posts `/api/post/`
+router.route('/').get(async (_: Request, response: Response) => {
+	try {
+		response.status(200).json(await query("SELECT * FROM post;",""));
+	} catch (error) {
+		response.status(400).send("Bad Request");
+	}
+});
+
+// Get post with id `/api/post/:id`
+router.route('/:id').get(async (request: Request, response: Response) => {
+	const postId = request.params.id;
+	try {
+		response.status(200).json(await query("SELECT * FROM post WHERE id=?;",[postId]));
+	} catch (error) {
+		response.status(400).send("Bad Request");
+	}
+});
+
+/* ============================= UPDATE ============================= */
+// Edit post with id `/api/post/:id`
+router.route('/:id').put(async (request: Request, response: Response) => {
+	const postId = request.params.id;
+	try {
+		response.status(200).json(await query("SELECT * FROM post WHERE id=?;",[postId]));
+	} catch (error) {
+		response.status(400).send("Bad Request");
+	}
+});
+
+/* ============================= DELETE ============================= */
+// Remove post with id `/api/post/:id`
+router.route('/:id').delete(async (request: Request, response: Response) => {
+	const postId = request.params.id;
+	try {
+		response.status(200).json(await query("SELECT * FROM post WHERE id=?;",[postId]));
+	} catch (error) {
+		response.status(400).send("Bad Request");
+	}
+});
+
+export default router;
diff --git a/server/src/index.ts b/server/src/index.ts
index af9e008107f2380f7d5c447051530581b26d832d..8d875a0e68cc187dc3a09d3cdc5de1ad52772847 100644
--- a/server/src/index.ts
+++ b/server/src/index.ts
@@ -16,28 +16,8 @@ app.use(bodyParser.json());
 // Configuring json response
 app.set("json spaces", 2);
 
-app.use("/", routes);
+app.use("/api", routes);
 
-/*
-// create the connection to database
-const connection = mysql.createConnection({
-	host: 'mysql.stud.ntnu.no',
-	user: 'jonnynl_tdt4140',
-	password: 'jonny123',
-	database: 'jonnynl_tdt4140',
-	connectTimeout: 10000
-});
-
-// simple query
-connection.query(
-	'SELECT * from test',
-	function(err , results, fields) {
-		console.log(results); // results contains rows returned by server
-		// console.log(fields); // fields contains extra meta data about results, if available
-		// console.log(err);
-	}
-);
-*/
 app.listen(port, () => {
 	console.log(`Listening on port ${port}!`)
 });
diff --git a/server/src/routes/routes.ts b/server/src/routes/routes.ts
index fcdddaa5ef7d28fcbbd0bff7ac42e39033a97de3..49efb2c37e47305c88c0a75208a7f526e2746528 100644
--- a/server/src/routes/routes.ts
+++ b/server/src/routes/routes.ts
@@ -1,18 +1,11 @@
-import { example1, example2 } from '../controllers/example';
+//import { example1, example2 } from '../controllers/example';
+import postController from '../controllers/postController'
 import express from 'express';
 
 const router = express.Router();
 
-router.get("/", (_, res) => {
-	res.send("Hello world!");
-});
-router.get('/test', (req, res) => {
-	console.log(req,res);
-	res.send("test!");
-});
+// Endpoints
+router.use("/post", postController); 
 
-// routes go brrrrr!
-router.get("/example1", example1);
-router.get("/example1/example2", example2);
 
 export default router;
diff --git a/server/src/services/db_query.ts b/server/src/services/db_query.ts
new file mode 100644
index 0000000000000000000000000000000000000000..99152e1877114fac67424852de04c8c540eee459
--- /dev/null
+++ b/server/src/services/db_query.ts
@@ -0,0 +1,12 @@
+import db from '../services/db';
+
+export default async function query(query: string, placeholder: {}){
+  const data = await db.query(query,placeholder);
+  const meta = {page: 1};
+
+  return {
+    data,
+    meta
+  }
+}
+
diff --git a/server/src/services/example.ts b/server/src/services/example.ts
deleted file mode 100644
index 322c1e71aeae90657d87cce6e6e120d7b73c5afa..0000000000000000000000000000000000000000
--- a/server/src/services/example.ts
+++ /dev/null
@@ -1,15 +0,0 @@
-import db from '../services/db';
-
-async function getTest(){
-  const data = await db.query('SELECT * FROM test',"");
-  const meta = {page: 1};
-
-  return {
-    data,
-    meta
-  }
-}
-
-export default {
-  getTest
-}