diff --git a/src/Controllers/FAQController.ts b/src/Controllers/FAQController.ts
new file mode 100644
index 0000000000000000000000000000000000000000..4ed26253f4da0d96a5a3029b34e78d272a6d9d19
--- /dev/null
+++ b/src/Controllers/FAQController.ts
@@ -0,0 +1,65 @@
+import { Request, Response, Router } from 'express';
+import FAQ from '../Models/FAQ';
+import FAQService from '../Services/FAQService';
+import { FAQDTO } from '../DTOs/FAQDTO';
+
+const router = Router();
+
+const list = async (req: Request, res: Response): Promise<Response> => {
+  try {
+    const faqs: FAQ[] = await FAQService.list();
+    return res.status(200).send(faqs);
+  } catch (error) {
+    console.log('error');
+    return res.status(400).send('list error');
+  }
+};
+
+const create = async (req: Request, res: Response): Promise<Response> => {
+  try {
+    const dto: FAQDTO = req.body;
+    const newFAQ: FAQ = await FAQService.create(dto);
+    return res.status(200).send(newFAQ);
+  } catch (error) {
+    console.log(error);
+    return res.status(400).send('create error');
+  }
+};
+
+const update = async (req: Request, res: Response): Promise<Response> => {
+  try {
+    const dto: FAQDTO = req.body;
+    const faqId = Number(req.params.id);
+    const updatedFAQ: FAQ | null = await FAQService.update(faqId, dto);
+    if (updatedFAQ) {
+      return res.status(200).send(updatedFAQ);
+    }
+    return res.status(400).send('id error');
+  } catch (error) {
+    console.log(error);
+    return res.status(400).send('update error');
+  }
+};
+
+const deleteFAQ = async (req: Request, res: Response): Promise<Response> => {
+  try {
+    const faqId = Number(req.params.id);
+    const success: boolean = await FAQService.deleteFAQ(faqId);
+    if (success) {
+      return res.status(200).send(success);
+    }
+    return res.status(400).send(success);
+  } catch (error) {
+    return res.status(400).send('delete error');
+  }
+};
+
+router
+  .get('/', list)
+  .post('/', create);
+
+router
+  .put('/:id', update)
+  .delete('/:id', deleteFAQ);
+
+export default router;
diff --git a/src/DTOs/FAQDTO.ts b/src/DTOs/FAQDTO.ts
new file mode 100644
index 0000000000000000000000000000000000000000..33cdffa9c234c994718d03b10e13db4adb83fb03
--- /dev/null
+++ b/src/DTOs/FAQDTO.ts
@@ -0,0 +1,4 @@
+export interface FAQDTO {
+  question: string;
+  answer: string;
+}
diff --git a/src/Loaders/ParameterDataBaseLoader.ts b/src/Loaders/ParameterDataBaseLoader.ts
index f086c2118402a6c8e08bb2d188cb1567e814a901..ec1470a80eecbe55748e44ace9e4404aa9262e04 100644
--- a/src/Loaders/ParameterDataBaseLoader.ts
+++ b/src/Loaders/ParameterDataBaseLoader.ts
@@ -6,6 +6,7 @@ import EquationConstantDTO from '../DTOs/EquationConstantDTO';
 import DefaultExtraData from '../Models/DefaultExtraData';
 import DefaultWeight from '../Models/DefaultWeight';
 import EquationConstant from '../Models/EquationConstant';
+import FAQ from '../Models/FAQ';
 import CSVParser from './CSVParser';
 
 function initParameterDataBase(): void {
@@ -48,6 +49,7 @@ function initParameterDataBase(): void {
         console.log(err);
       });
   });
+  FAQ.sync();
 }
 
 export default { initParameterDataBase };
diff --git a/src/Models/FAQ.ts b/src/Models/FAQ.ts
new file mode 100644
index 0000000000000000000000000000000000000000..ee2e2f92e696fc34de2cabcd17752a7862ced28f
--- /dev/null
+++ b/src/Models/FAQ.ts
@@ -0,0 +1,46 @@
+import { DataTypes, Model, NOW } from 'sequelize';
+import sequelize from '../Loaders/ParameterDataBase';
+
+class FAQ extends Model {}
+
+FAQ.init({
+  id: {
+    type: DataTypes.INTEGER,
+    allowNull: false,
+    autoIncrement: true,
+    primaryKey: true,
+  },
+  question: {
+    type: DataTypes.STRING,
+  },
+  answer: {
+    type: DataTypes.STRING,
+  },
+  createdBy: {
+    type: DataTypes.INTEGER,
+  },
+  updatedBy: {
+    type: DataTypes.INTEGER,
+    allowNull: true,
+    defaultValue: null,
+  },
+  createdAt: {
+    type: DataTypes.DATE,
+    defaultValue: NOW,
+  },
+  updatedAt: {
+    type: DataTypes.DATE,
+    allowNull: true,
+    defaultValue: null,
+  },
+  deletedAt: {
+    type: DataTypes.DATE,
+    allowNull: true,
+    defaultValue: null,
+  },
+}, {
+  sequelize,
+  modelName: 'FAQ',
+});
+
+export default FAQ;
diff --git a/src/Services/FAQService.ts b/src/Services/FAQService.ts
new file mode 100644
index 0000000000000000000000000000000000000000..2b1ac31f68bbda3efe58b535e847341628c6e064
--- /dev/null
+++ b/src/Services/FAQService.ts
@@ -0,0 +1,50 @@
+import FAQ from '../Models/FAQ';
+import { FAQDTO } from '../DTOs/FAQDTO';
+
+const list = (): Promise<FAQ[]> => FAQ.findAll({
+  attributes: ['id', 'question', 'answer', 'createdAt'],
+  where: {
+    deletedAt: null,
+  },
+});
+
+const create = (createDto: FAQDTO): Promise<FAQ> => FAQ.create(createDto);
+
+const update = async (id: number, createDto: FAQDTO): Promise<FAQ | null> => {
+  const faq: FAQ | null = await FAQ.findOne({
+    where: {
+      id,
+      deletedAt: null,
+    },
+  });
+  if (!faq) {
+    return null;
+  }
+  const { question, answer } = createDto;
+  return faq.update({
+    question, answer,
+  });
+};
+
+const deleteFAQ = async (id: number): Promise<boolean> => {
+  const faq: FAQ | null = await FAQ.findOne({
+    where: {
+      id,
+      deletedAt: null,
+    },
+  });
+  if (!faq) {
+    return false;
+  }
+  await faq.update({
+    deletedAt: new Date(),
+  });
+  return true;
+};
+
+export default {
+  list,
+  create,
+  update,
+  deleteFAQ,
+};
diff --git a/src/routes.ts b/src/routes.ts
index c0ea909c381728d2b0e3a226166ec8e1f4102f4e..2afe94112bac83c4086221e30bc3c4c3b237b50a 100644
--- a/src/routes.ts
+++ b/src/routes.ts
@@ -2,6 +2,7 @@ import { Request, Response, Router } from 'express';
 import SheetController from './Controllers/SheetController';
 import CalculatorController from './Controllers/CalculatorController';
 import ParameterController from './Controllers/ParameterController';
+import FAQController from './Controllers/FAQController';
 
 const router = Router();
 
@@ -15,4 +16,6 @@ router.use('/repCalculator', CalculatorController);
 
 router.use('/parameters', ParameterController);
 
+router.use('/faqs', FAQController);
+
 export default router;