diff --git a/.env.example b/.env.example
index 3a13959ebc9206c1c611af6d3f610afb6bb58ed3..9faf0fba420a7ae3aa5d184553b8442f77f82781 100644
--- a/.env.example
+++ b/.env.example
@@ -7,15 +7,15 @@ MAILER_PORT=25
 DB_USER=postgres
 DB_PASSWORD=postgres
 DB_NAME=hono_db
-DB_PORT=5432
+DB_PORT=5433
 DB_URL=postgresql://${DB_USER}:${DB_PASSWORD}@${DB_HOST}:${DB_PORT}/${DB_NAME}
-URL=postgresql://${DB_USER}:${DB_PASSWORD}@${DB_HOST}:${DB_PORT}/${DB_NAME}
+URL=https://mecred.c3sl.ufpr.br/
 
 # secret
-APP_SECRET=0crebI8PUWwj9E+GRzIGpBt64MwY9ufkBzBkYSH2v+Y=
+APP_SECRET=
 
 #s3
-AWS_ACCESS_KEY_ID=ACCESS_KEY
-AWS_SECRET_ACCESS_KEY=SECRET_KEY
+AWS_ACCESS_KEY_ID=
+AWS_SECRET_ACCESS_KEY=
 AWS_REGION=default
-S3_BUCKET=BUCKET_NAME
+S3_BUCKET=mecredteste
diff --git a/docker-compose.yml b/docker-compose.yml
index 87f540393c39a187afb6578f75c011936c753d25..54f8f92ab3070e52457fbe38d559ca45e0e638ae 100755
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -7,7 +7,7 @@ services:
       POSTGRES_USER: postgres
       POSTGRES_PASSWORD: postgres
     ports:
-      - "5432:5432"
+      - "5433:5432"
     networks:
       - apex_network
     volumes:
diff --git a/src/db/migrations/0000_square_wolfpack.sql b/src/db/migrations/0000_nappy_wolfpack.sql
similarity index 100%
rename from src/db/migrations/0000_square_wolfpack.sql
rename to src/db/migrations/0000_nappy_wolfpack.sql
diff --git a/src/db/migrations/meta/0000_snapshot.json b/src/db/migrations/meta/0000_snapshot.json
index 0de0331b6206ba30c7cf095ad5db73bb3d6053a8..156b7107df0e02455672faaf5be2469b75277587 100644
--- a/src/db/migrations/meta/0000_snapshot.json
+++ b/src/db/migrations/meta/0000_snapshot.json
@@ -1,5 +1,5 @@
 {
-  "id": "0ad63f02-9e60-4b45-85a0-3b8096d0223d",
+  "id": "9c23b9d5-4c93-4758-bd46-cd0e95cfd455",
   "prevId": "00000000-0000-0000-0000-000000000000",
   "version": "7",
   "dialect": "postgresql",
diff --git a/src/db/migrations/meta/_journal.json b/src/db/migrations/meta/_journal.json
index 6109c64dfcd864617b8e90ece345573b18f7c965..bcc08a2ffe768ddf519e058307464c584081839a 100644
--- a/src/db/migrations/meta/_journal.json
+++ b/src/db/migrations/meta/_journal.json
@@ -5,8 +5,8 @@
     {
       "idx": 0,
       "version": "7",
-      "when": 1743429134832,
-      "tag": "0000_square_wolfpack",
+      "when": 1743432081845,
+      "tag": "0000_nappy_wolfpack",
       "breakpoints": true
     }
   ]
diff --git a/src/db/repo/collections.repo.ts b/src/db/repo/collections.repo.ts
index eae48a3c92bf11009fc336192a5e270a367812db..f7cc1ffcbfd825d3670bf626947179054fb9f4d6 100644
--- a/src/db/repo/collections.repo.ts
+++ b/src/db/repo/collections.repo.ts
@@ -7,11 +7,12 @@ import type {
 import db from "..";
 import collectionTable, { collectionSchemas } from "../schema/collections.schema";
 import { and, eq, isNull } from 'drizzle-orm'
-import type { ResourceModel } from "../schema/resource.schema";
+import resourceTable, { resourceSchema, type ResourceModel } from "../schema/resource.schema";
 import fs from 'fs';
 import path from 'path';
 import archiver from 'archiver';
 import { PassThrough } from "stream";
+import { collectionResourcesTable } from "../schema";
 
 
 @Service()
@@ -121,10 +122,17 @@ export class CollectionRepo {
     )
   }
 
-  // async downloadCollection(collectionId: CollectionModel['id']): Promise <Buffer> {
-  //   try {
+  async getCollectionResources(id: CollectionModel['id']): Promise<ResourceModel[]> {
+    return await db
+      .select()
+      .from(resourceTable)
+      .innerJoin(
+        collectionResourcesTable,
+        eq(resourceTable.id, collectionResourcesTable.resource_id)
+      )
+      .where(eq(collectionResourcesTable.collection_id, id))
+      .then((rows) => rows.map((row) => row.resources)); // Ajusta a estrutura do retorno
+      
+  }
 
-  // fazer zip
-  //   }
-  // }
 }
\ No newline at end of file
diff --git a/src/db/repo/resource.repo.ts b/src/db/repo/resource.repo.ts
index 3342db2494405e9a1e764b38ca55f190e421c683..03d2bc374b2c711bbaa04440de63b1f8979249f4 100644
--- a/src/db/repo/resource.repo.ts
+++ b/src/db/repo/resource.repo.ts
@@ -4,7 +4,6 @@ import db from '..'
 import resourceTable from "../schema/resource.schema";
 import { eq, sql, and } from 'drizzle-orm'
 
-
 @Service()
 export class ResourceRepo {
     async create(resource: ResourceInput
@@ -103,5 +102,6 @@ export class ResourceRepo {
         return resourceSchema.model.array().parse(await db.query.resourceTable.findMany({ where: eq(resourceTable.state, "accepted") }))
     }
 
+    
 
 }
\ No newline at end of file
diff --git a/src/db/repo/user-collection.repo.ts b/src/db/repo/user-collection.repo.ts
index 618f26eca137a0cd0e4fa2b55206992d24713b0a..cbbbf9c348765220b5fbf2c07880975390e994c6 100644
--- a/src/db/repo/user-collection.repo.ts
+++ b/src/db/repo/user-collection.repo.ts
@@ -120,4 +120,26 @@ export class userCollectionsRepo {
       throw error;
     }
   }
+
+  async getOwnerCollection(collectionId: CollectionModel['id']): Promise<UserModel | null> {
+    try {
+      const owner = await db
+        .select({
+          id: userTable.id,
+          name: userTable.name,
+          email: userTable.email,
+          description: userTable.description,
+        })
+        .from(collectionTable)
+        .innerJoin(userTable, eq(collectionTable.user_id, userTable.id))
+        .where(eq(collectionTable.id, collectionId))
+
+  
+      return owner;
+    } catch (error) {
+      console.error("Erro ao buscar o dono da coleção:", error);
+      throw new Error("Erro ao obter o dono da coleção");
+    }
+  }
+  
 }
\ No newline at end of file
diff --git a/src/routes/collections.route.ts b/src/routes/collections.route.ts
index c413eb660938ae6b0317d602ed35653aa2157067..5a6e9e12543e865747c19205b655de664c866527 100644
--- a/src/routes/collections.route.ts
+++ b/src/routes/collections.route.ts
@@ -10,11 +10,14 @@ import { CollectionStatsService } from "@/services/collection-stats.service";
 import { getFile } from "@/services/s3.service";
 import archiver from "archiver"; // Biblioteca para criar ZIPs
 import { CollectionResourcesService } from "@/services/collection-resources.service";
+import { ResourceService } from "@/services/resource.service";
+import { addObjectTypeNameArray } from "./resource.route";
 
 
 const service = Container.get(CollectionsService);
 const serviceStats = Container.get(CollectionStatsService);
 const serviceResourceCollection = Container.get(CollectionResourcesService) ;
+const resourceService = Container.get(ResourceService)
 
 export const collectionsRouter = honoWithJwt()
   .post(
@@ -372,4 +375,26 @@ export const getCollections = new Hono()
         500
       );
     }
-  });
\ No newline at end of file
+  })
+  .get("/:id/resources",
+    async(c) => {
+      try {
+        const id = +c.req.param('id')
+  
+        const resources = await service.getCollectionResources(id)
+        const processedResources = await addObjectTypeNameArray(resources)
+        return c.json({ resources: processedResources });
+      } catch (e) {
+        return c.json(
+          createApexError({
+            status: 'error',
+            message: 'could not find collection',
+            code: HttpStatus.BAD_REQUEST,
+            path: c.req.routePath,
+            suggestion: 'check the input and try again',
+          }),
+          HttpStatus.NOT_FOUND
+        )
+      }
+    }
+  )
\ No newline at end of file
diff --git a/src/routes/resource.route.ts b/src/routes/resource.route.ts
index 14c06c3d1def43649ae78b5627a77b4a0721e1d2..7e9e7698fa5de38b52ef6475a5b1447d42d6ebf0 100644
--- a/src/routes/resource.route.ts
+++ b/src/routes/resource.route.ts
@@ -26,7 +26,7 @@ type ResourceWithObjectTypeName = ResourceModel & {
 };
 
 //funcao para adicionar o nome do objectType a um array de recursos
-async function addObjectTypeNameArray(resources: ResourceModel[]): Promise<ResourceWithObjectTypeName[]> {
+export async function addObjectTypeNameArray(resources: ResourceModel[]): Promise<ResourceWithObjectTypeName[]> {
     return Promise.all(resources.map(async (resource) => {
         // Buscar o nome do objectType relacionado ao recurso
         const objectType = await objectTypeService.findById(resource.object_type_id);
@@ -375,4 +375,4 @@ export const publicResourceRouter = new Hono()
                 500
             );
         }
-    });
+    });
\ No newline at end of file
diff --git a/src/routes/user-collection.route.ts b/src/routes/user-collection.route.ts
index 108435e748d5bcd6ac673683e668a3082211d409..5ee498bc5b917b7cb4cf54576a5f6444f5236048 100644
--- a/src/routes/user-collection.route.ts
+++ b/src/routes/user-collection.route.ts
@@ -98,7 +98,7 @@ export const publicUserCollectionsRoutes = new Hono()
       }
     }
   )
-  .get('/collection/:collectionId/users',
+  .get(':collectionId/users',
     async (c) => {
       try {
         const collectionId = +c.req.param('collectionId');
@@ -118,3 +118,23 @@ export const publicUserCollectionsRoutes = new Hono()
       }
     }
   )
+  .get('/:id/owner',
+    async (c) => {
+      try {
+        const id = +c.req.param('id');
+        const owner = await service.getOwnerCollection(id);
+        return c.json(owner, HttpStatus.OK);
+      } catch (e) {
+        return c.json(
+          createApexError({
+            status: 'error',
+            message: 'Failed to fetch owner',
+            code: HttpStatus.BAD_REQUEST,
+            path: c.req.routePath,
+            suggestion: 'Check the input and try again',
+          }),
+          HttpStatus.BAD_REQUEST
+        )
+      }
+    }
+  )
\ No newline at end of file
diff --git a/src/services/collections.service.ts b/src/services/collections.service.ts
index c843d030a5623640007a2abb4a6b695b8bbdfe13..85b2fbf94c20463d19490eee7434124bd414a18b 100644
--- a/src/services/collections.service.ts
+++ b/src/services/collections.service.ts
@@ -5,6 +5,7 @@ import type {
   CollectionModel,
   CollectionUpdate
 } from '@/db/schema/collections.schema'
+import type { ResourceModel } from '@/db/schema/resource.schema'
 
 @Service()
 export class CollectionsService {
@@ -57,4 +58,8 @@ export class CollectionsService {
     return this.repo.getPrivateCollectionsByUser(id)
   }
 
+  async getCollectionResources (id: CollectionModel['id']): Promise <ResourceModel[]> {
+    return this.repo.getCollectionResources(id)
+  }
+
 }
\ No newline at end of file
diff --git a/src/services/user-collection.service.ts b/src/services/user-collection.service.ts
index 8c8de31c319599f1c6ebe4aadb8158cc7ca7d652..cea36660ca90c4d9a6d96081b5bf70264744290b 100644
--- a/src/services/user-collection.service.ts
+++ b/src/services/user-collection.service.ts
@@ -27,4 +27,8 @@ export class UserCollectionsService {
   async getUsersByCollection(collectionId: CollectionModel['id']): Promise<UserModel[]> {
     return this.repo.getUsersByCollection(collectionId);
   }
+
+  async getOwnerCollection(collectionId: CollectionModel['id']): Promise<UserModel> {
+    return this.repo.getOwnerCollection(collectionId)
+  }
 }
\ No newline at end of file