diff --git a/package-lock.json b/package-lock.json
index d7d143c3eddcc5839ca732a452baf22cd68b1fff..c007368bdf7e4b6b8f117743c73420c19a09c580 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -976,6 +976,12 @@
         "@types/node": "*"
       }
     },
+    "@types/cors": {
+      "version": "2.8.12",
+      "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.12.tgz",
+      "integrity": "sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw==",
+      "dev": true
+    },
     "@types/eslint-visitor-keys": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz",
@@ -1101,6 +1107,22 @@
       "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==",
       "dev": true
     },
+    "@types/swagger-jsdoc": {
+      "version": "6.0.1",
+      "resolved": "https://registry.npmjs.org/@types/swagger-jsdoc/-/swagger-jsdoc-6.0.1.tgz",
+      "integrity": "sha512-+MUpcbyxD528dECUBCEVm6abNuORdbuGjbrUdHDeAQ+rkPuo2a+L4N02WJHF3bonSSE6SJ3dUJwF2V6+cHnf0w==",
+      "dev": true
+    },
+    "@types/swagger-ui-express": {
+      "version": "4.1.3",
+      "resolved": "https://registry.npmjs.org/@types/swagger-ui-express/-/swagger-ui-express-4.1.3.tgz",
+      "integrity": "sha512-jqCjGU/tGEaqIplPy3WyQg+Nrp6y80DCFnDEAvVKWkJyv0VivSSDCChkppHRHAablvInZe6pijDFMnavtN0vqA==",
+      "dev": true,
+      "requires": {
+        "@types/express": "*",
+        "@types/serve-static": "*"
+      }
+    },
     "@types/yargs": {
       "version": "16.0.4",
       "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz",
@@ -2156,6 +2178,15 @@
       "integrity": "sha512-2VV7DlIbooyTI7Bh+yzOOWL9tGwLnQKHno7qATE+fqZzDKYr6llVjVQOzpD/QLZFgXDPb8T71pJokHEZHEYJhQ==",
       "dev": true
     },
+    "cors": {
+      "version": "2.8.5",
+      "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz",
+      "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==",
+      "requires": {
+        "object-assign": "^4",
+        "vary": "^1"
+      }
+    },
     "cosmiconfig": {
       "version": "7.0.1",
       "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz",
@@ -2392,6 +2423,11 @@
         }
       }
     },
+    "dotenv": {
+      "version": "10.0.0",
+      "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz",
+      "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q=="
+    },
     "duplexer3": {
       "version": "0.1.4",
       "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz",
@@ -5611,8 +5647,7 @@
     "object-assign": {
       "version": "4.1.1",
       "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
-      "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
-      "dev": true
+      "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
     },
     "object-inspect": {
       "version": "1.11.0",
diff --git a/package.json b/package.json
index a4fe8c95f957d3a849c6c4b522fcb0b3d4c91433..12c97c56e5ee0fa24dc0e943f12e56b418236c62 100644
--- a/package.json
+++ b/package.json
@@ -5,6 +5,8 @@
   "main": "index.ts",
   "dependencies": {
     "config.json": "0.0.4",
+    "cors": "^2.8.5",
+    "dotenv": "^10.0.0",
     "express": "^4.17.1",
     "gulp-eslint": "^6.0.0",
     "openapi-types": "^9.3.0",
@@ -14,10 +16,13 @@
     "xlsx": "^0.17.1"
   },
   "devDependencies": {
+    "@types/cors": "^2.8.12",
     "@types/express": "^4.17.13",
     "@types/node": "^16.7.10",
     "@typescript-eslint/eslint-plugin": "^2.34.0",
     "@typescript-eslint/parser": "^2.0.0",
+    "@types/swagger-jsdoc": "^6.0.1",
+    "@types/swagger-ui-express": "^4.1.3",
     "eslint": "^7.32.0",
     "eslint-config-airbnb": "^18.2.1",
     "eslint-config-airbnb-base": "^14.2.1",
diff --git a/src/Controllers/ExcelController.ts b/src/Controllers/ExcelController.ts
deleted file mode 100644
index 18a8dd1c0cc55438532d5172e90aa80bc35c5e61..0000000000000000000000000000000000000000
--- a/src/Controllers/ExcelController.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-/* eslint-disable import/extensions */
-/* eslint-disable no-console */
-import { Request, Response } from "express";
-import { parseExcelService } from "../Services/SheetService";
-
-const parseExcel = async (req:Request, res:Response) => {
-  res.status(200).send(parseExcelService());
-};
-
-module.exports = {
-  parseExcel,
-};
diff --git a/src/Controllers/SheetController.ts b/src/Controllers/SheetController.ts
new file mode 100644
index 0000000000000000000000000000000000000000..f9c3ddf0c4ee84e350705b6f51d6c226f508f4e3
--- /dev/null
+++ b/src/Controllers/SheetController.ts
@@ -0,0 +1,57 @@
+import { Request, Response, Router } from "express";
+import SheetService from "../Services/SheetService";
+
+const router = Router();
+
+
+// const parseExcel = async (req:Request, res:Response) => {
+  //   res.status(200).send(parseExcelService());
+  // };
+  
+  const parseSheet = async (req:Request, res:Response) => {
+    const sheet:Buffer = req.body;
+    try{
+      const parsedSheet = SheetService.parseSheetService(sheet)
+      return res.status(200).send(parsedSheet)
+    } catch(error) {
+      return res.status(400).send({error:error})
+    }
+    
+  }
+
+  
+
+/**
+ * @swagger
+ * /excelParser:
+ *  post:
+ *      tags:
+ *          -   parser
+ *      description: Sheet Parser
+ *      requestBody:
+ *          required: true
+ *          content:
+ *              application/json:
+ *                  schema:
+ *                      type: object
+ *                      required:
+ *                          -   email
+ *                          -   password
+ *                      properties:
+ *                          excel:
+ *                              type: string
+ *      responses:
+ *          '200':
+ *              description: returns the parsed JSON of the excel file provided
+ *              content:
+ *                  application/json:
+ *                      schema:
+ *                          type: object
+ *                          properties:
+ *                              excelParsed:
+ *                                  type: string
+ */
+router.post("/", parseSheet)
+  
+
+export default router;
\ No newline at end of file
diff --git a/src/Services/SheetService.ts b/src/Services/SheetService.ts
index 9311351afcedf2753de3c88ccab54858b7e04236..5ad4f25b8e51337724e19d380eecf6e5ad8a03df 100644
--- a/src/Services/SheetService.ts
+++ b/src/Services/SheetService.ts
@@ -1,6 +1,5 @@
 /* eslint-disable no-param-reassign */
 /* eslint-disable no-plusplus */
-/* eslint-disable import/prefer-default-export */
 /* eslint-disable no-console */
 import * as XLSX from "xlsx";
 
@@ -18,19 +17,29 @@ const deleteRow = (ws:any, rowIndex:any) => {
 };
 
 /* EXPORT FUNCTIONS */
-export const parseExcelService = () => {
-  const workbook = XLSX.readFile("src\\Services\\test.xlsx");
-  // TODO: need definition of sheet
+
+const parseSheetService = (data:Buffer) =>{
+  const workbook:XLSX.WorkBook = XLSX.read(data);
+  let parsed;
+
   workbook.SheetNames.forEach((sheetName) => {
-    const worksheet = workbook.Sheets[sheetName];
+    const worksheet:XLSX.WorkSheet = workbook.Sheets[sheetName];
     const ref = worksheet["!ref"]!;
     const range = XLSX.utils.decode_range(ref);
     range.s.c = 0; // 0 == XLSX.utils.decode_col("A")
     range.e.c = 1; // 6 == XLSX.utils.decode_col("B")
     const newRange = XLSX.utils.encode_range(range);
     deleteRow(worksheet, 0);
-    const parsed = XLSX.utils.sheet_to_json(worksheet, { range: newRange });
+    parsed = XLSX.utils.sheet_to_json(worksheet, { range: newRange });
     console.log(parsed);
-    return parsed;
   });
-};
+  return parsed;
+  // TODO: depends on sheet layout what to do
+  // let parsed:JSON;
+
+  // return parsed;
+}
+
+export default {
+  parseSheetService,
+}
diff --git a/src/index.ts b/src/index.ts
index 85aa98772319fc4e54d0fe5022076581b11da4e0..5458d053d5d993ac55ada05e90c74b0c5bd1ed4f 100644
--- a/src/index.ts
+++ b/src/index.ts
@@ -1,20 +1,23 @@
 /* eslint-disable no-console */
-import express, { Application } from 'express';
+import express, { Application } from "express";
+import 'dotenv/config'
+import cors from 'cors';
+import swaggerJsDoc, { Options } from "swagger-jsdoc";
+import swaggerUi from "swagger-ui-express";
+import Routes from "./routes";
 
-const swaggerJsDoc = require('swagger-jsdoc');
-const swaggerUi = require('swagger-ui-express');
-
-const app: Application = express();
+const app:Application = express();
 const PORT = process.env.PORT || 8000;
 
 // swagger init
-const swaggerOptions = {
+const swaggerOptions:Options = {
   swaggerDefinition: {
     openapi: '3.0.0',
     info: {
-      title: 'REPP Rest API',
-      description: '',
-      servers: ['http://localhost:3000'],
+      title: "REPP Rest API",
+      version: "1.0.0",
+      description: "",
+      servers: ["http://localhost:3000"],
     },
   },
   apis: ['src/routes.ts'],
@@ -24,8 +27,27 @@ const swaggerDocs = swaggerJsDoc(swaggerOptions);
 // middlewares
 app.use('/api-docs', swaggerUi.serve, swaggerUi.setup(swaggerDocs));
 
-app.use(require('./routes.ts'));
+app.use(express.json({
+  limit: '50mb'
+}));
+app.use(express.urlencoded({extended: false}));
+app.use(cors({
+  "origin": "*",
+  "methods": "GET,HEAD,PUT,PATCH,POST,DELETE",
+  "preflightContinue": false,
+  "optionsSuccessStatus": 204
+}));
+
+function o (){
+  return NaN
+}
+
+app.use(express.raw({
+  limit: '50mb'
+}));
+
+app.use(Routes);
 
-app.listen(PORT, (): void => {
+app.listen(PORT, ():void => {
   console.log(`REPP Backend running here 👉 https://localhost:${PORT}`);
 });
diff --git a/src/routes.ts b/src/routes.ts
index 984601854eea1449bff3b1a4f9b6ceb912e4ac95..ae80fe4911431265bf5fce4fb491ba3e338f7ec3 100644
--- a/src/routes.ts
+++ b/src/routes.ts
@@ -1,7 +1,8 @@
-import { Request, Response } from 'express';
+import { Request, Response } from "express";
+import SheetController from './Controllers/SheetController';
 
-const { Router } = require('express');
-const { parseExcel } = require('./Controllers/ExcelController.ts');
+const { Router } = require("express");
+const { parseSheet } = require("./Controllers/SheetController.ts");
 
 const router = Router();
 
@@ -9,38 +10,7 @@ router.get('/', (req: Request, res: Response): void => {
   res.send('Hey! This is REPP API, you can go to /api-docs to learn more!');
 });
 
-// Che esto es para ejemplo de como usar swagger, hay que arreglarlo
-// TODO
-/**
- * @swagger
- * /excelParser:
- *  post:
- *      tags:
- *          -   parser
- *      description: Excel Parser
- *      requestBody:
- *          required: true
- *          content:
- *              application/json:
- *                  schema:
- *                      type: object
- *                      required:
- *                          -   email
- *                          -   password
- *                      properties:
- *                          excel:
- *                              type: string
- *      responses:
- *          '200':
- *              description: returns the parsed JSON of the excel file provided
- *              content:
- *                  application/json:
- *                      schema:
- *                          type: object
- *                          properties:
- *                              excelParsed:
- *                                  type: string
- */
-router.post('/excelParser', parseExcel);
 
-module.exports = router;
+router.use("/sheetParser",SheetController)
+
+export default router;