diff --git a/backend/src/api/categories/categories.module.ts b/backend/src/api/categories/categories.module.ts
index 8776b448c5f6f53e4956da0518c374d3190afae2..6590c8b02054552f01e8ebe9fd7b9de74a9410f9 100644
--- a/backend/src/api/categories/categories.module.ts
+++ b/backend/src/api/categories/categories.module.ts
@@ -1,9 +1,10 @@
 import { Module } from '@nestjs/common';
 import { CategoriesService } from './categories.service';
 import { CategoriesController } from './categories.controller';
+import { PrismaService } from 'src/prisma.service';
 
 @Module({
   controllers: [CategoriesController],
-  providers: [CategoriesService]
+  providers: [CategoriesService, PrismaService]
 })
 export class CategoriesModule {}
diff --git a/backend/src/api/categories/categories.service.ts b/backend/src/api/categories/categories.service.ts
index 1ee0421117dac65ac04bb5ac37aaa6efbcf7a265..71eebc7ad625521dbee5f18fa1adf2bd61ba7503 100644
--- a/backend/src/api/categories/categories.service.ts
+++ b/backend/src/api/categories/categories.service.ts
@@ -1,26 +1,49 @@
 import { Injectable } from '@nestjs/common';
+import { PrismaService } from 'src/prisma.service';
 import { CreateCategoryDto } from './dto/create-category.dto';
 import { UpdateCategoryDto } from './dto/update-category.dto';
 
 @Injectable()
 export class CategoriesService {
+  constructor(private prisma: PrismaService) {}
+
   create(createCategoryDto: CreateCategoryDto) {
-    return 'This action adds a new category';
+    return this.prisma.category.create({
+      data: createCategoryDto
+    });
   }
 
   findAll() {
-    return `This action returns all categories`;
+    return this.prisma.category.findMany();
   }
 
   findOne(id: string) {
-    return `This action returns a #${id} category`;
+    return this.prisma.category.findUnique({ 
+      where: {
+        id
+      }
+    });
   }
 
   update(id: string, updateCategoryDto: UpdateCategoryDto) {
-    return `This action updates a #${id} category`;
+    return this.prisma.category.update({
+      where: {
+        id
+      },
+      data: {
+        ...updateCategoryDto
+      }
+    });
   }
 
   remove(id: string) {
-    return `This action removes a #${id} category`;
+    return this.prisma.category.update({
+      where: {
+        id
+      },
+      data: {
+        deletedAt: new Date()
+      }
+    });
   }
 }