diff --git a/posts-service/index.js b/posts-service/index.js
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..deb9883f3da6dbd78b6de5559e72f67e39408f5f 100644
--- a/posts-service/index.js
+++ b/posts-service/index.js
@@ -0,0 +1,23 @@
+import express from 'express';
+import cors from 'cors';
+import mongoose from 'mongoose';
+import bodyParser from 'body-parser';
+import dotenv from 'dotenv';
+
+import postRoutes from './routes/posts.js';
+
+dotenv.config();
+
+const app = express();
+app.use(bodyParser.json({ limit: "30mb", extended: true }));
+app.use(bodyParser.urlencoded({ limit: "30mb", extended: true }));
+app.use(cors());
+app.use("/posts", postRoutes);
+
+const PORT = 5002;
+
+mongoose.connect(process.env.CONNECTION_URL, { useNewUrlParser: true, useUnifiedTopology: true })
+  .then(() => app.listen(PORT, "0.0.0.0", () => console.log(`Posts service running on ${PORT}...`)))
+  .catch((error) => console.log(error.message));
+
+mongoose.set("useFindAndModify", false);
\ No newline at end of file
diff --git a/posts-service/routes/posts.js b/posts-service/routes/posts.js
new file mode 100644
index 0000000000000000000000000000000000000000..03b08eabc3ff20b3974138157227eb0ae725f573
--- /dev/null
+++ b/posts-service/routes/posts.js
@@ -0,0 +1,8 @@
+import express from 'express';
+import { getPosts, createPost, getPostById, deletePost, likePost, addComment, removeComment } from '../controllers/posts.js';
+
+const router = express.Router();
+
+//TODO add routes
+
+export default router;
\ No newline at end of file