Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
node_modules
6 changes: 5 additions & 1 deletion .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,4 +20,8 @@ jobs:
key: ${{ secrets.DEV_TEST }}
port: 22
script: |
ls -al
cd /home/ec2-user/app
git pull origin main
docker compose down
docker compose up -d --build
docker ps
50 changes: 50 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
name: test with create .env test

on: [pull_request]

jobs:
build:
name: React build & test
runs-on: ubuntu-latest
services:
postgres:
image: postgres:15
env:
POSTGRES_USER: testuser
POSTGRES_PASSWORD: testpass
POSTGRES_DB: testdb
ports:
- 5432:5432
options: >-
--health-cmd "pg_isready -U testuser"
--health-interval 5s
--health-timeout 5s
--health-retries 5

steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Create .env
run: |
echo "Port=3000" >> .env
echo "SESSION_SECRET=your_session_secret" >> .env
echo "JWT_ACCESS_TOKEN_SECRET=your_jwt_access_token_secret" >> .env
echo "JWT_REFRESH_TOKEN_SECRET=your_jwt_refresh_token_secret" >> .env
# 테스트용 로컬 Postgres
echo "DATABASE_URL=postgres://testuser:testpass@localhost:5432/testdb" >> .env
echo "AWS_REGION=${{ secrets.AWS_REGION }}" >> .env
echo "AWS_ACCESS_KEY_ID=${{ secrets.AWS_ACCESS_KEY_ID }}" >> .env
echo "AWS_S3_BUCKET=${{ secrets.AWS_S3_BUCKET }}" >> .env

- name: Install dependencies
run: npm install

- name: Prisma Generate
run: npx prisma generate

- name: Prisma Migrate Dev
run: npx prisma migrate deploy

- name: Run tests
run: npm test -- --runInBand
2 changes: 0 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,4 @@ node_modules

/generated/prisma

coverage

dist
20 changes: 20 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# 1. Node.js
FROM node:20.13.1

WORKDIR /app

COPY package*.json ./
RUN npm install

# Prisma generate
RUN npx prisma generate

COPY . .

RUN mkdir -p /app/uploads

# TypeScript 빌드
RUN npx tsc

EXPOSE 3000
CMD ["npm", "start"]
97 changes: 41 additions & 56 deletions coverage/lcov-report/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -23,30 +23,30 @@ <h1>All files</h1>
<div class='clearfix'>

<div class='fl pad1y space-right2'>
<span class="strong">56.82% </span>
<span class="strong">53.23% </span>
<span class="quiet">Statements</span>
<span class='fraction'>429/755</span>
<span class='fraction'>395/742</span>
</div>


<div class='fl pad1y space-right2'>
<span class="strong">21.48% </span>
<span class="strong">17.09% </span>
<span class="quiet">Branches</span>
<span class='fraction'>26/121</span>
<span class='fraction'>20/117</span>
</div>


<div class='fl pad1y space-right2'>
<span class="strong">42.1% </span>
<span class="strong">38.8% </span>
<span class="quiet">Functions</span>
<span class='fraction'>56/133</span>
<span class='fraction'>52/134</span>
</div>


<div class='fl pad1y space-right2'>
<span class="strong">61.42% </span>
<span class="strong">57.12% </span>
<span class="quiet">Lines</span>
<span class='fraction'>422/687</span>
<span class='fraction'>389/681</span>
</div>


Expand Down Expand Up @@ -95,17 +95,17 @@ <h1>All files</h1>

<tr>
<td class="file low" data-value="src/controllers"><a href="src/controllers/index.html">src/controllers</a></td>
<td data-value="32.24" class="pic low">
<div class="chart"><div class="cover-fill" style="width: 32%"></div><div class="cover-empty" style="width: 68%"></div></div>
<td data-value="29.43" class="pic low">
<div class="chart"><div class="cover-fill" style="width: 29%"></div><div class="cover-empty" style="width: 71%"></div></div>
</td>
<td data-value="32.24" class="pct low">32.24%</td>
<td data-value="276" class="abs low">89/276</td>
<td data-value="6.38" class="pct low">6.38%</td>
<td data-value="47" class="abs low">3/47</td>
<td data-value="32.35" class="pct low">32.35%</td>
<td data-value="34" class="abs low">11/34</td>
<td data-value="36.86" class="pct low">36.86%</td>
<td data-value="236" class="abs low">87/236</td>
<td data-value="29.43" class="pct low">29.43%</td>
<td data-value="282" class="abs low">83/282</td>
<td data-value="4.16" class="pct low">4.16%</td>
<td data-value="48" class="abs low">2/48</td>
<td data-value="28.57" class="pct low">28.57%</td>
<td data-value="35" class="abs low">10/35</td>
<td data-value="32.53" class="pct low">32.53%</td>
<td data-value="249" class="abs low">81/249</td>
</tr>

<tr>
Expand Down Expand Up @@ -170,47 +170,47 @@ <h1>All files</h1>

<tr>
<td class="file medium" data-value="src/repositories"><a href="src/repositories/index.html">src/repositories</a></td>
<td data-value="54.23" class="pic medium">
<div class="chart"><div class="cover-fill" style="width: 54%"></div><div class="cover-empty" style="width: 46%"></div></div>
<td data-value="53.33" class="pic medium">
<div class="chart"><div class="cover-fill" style="width: 53%"></div><div class="cover-empty" style="width: 47%"></div></div>
</td>
<td data-value="54.23" class="pct medium">54.23%</td>
<td data-value="59" class="abs medium">32/59</td>
<td data-value="53.33" class="pct medium">53.33%</td>
<td data-value="60" class="abs medium">32/60</td>
<td data-value="10" class="pct low">10%</td>
<td data-value="10" class="abs low">1/10</td>
<td data-value="33.33" class="pct low">33.33%</td>
<td data-value="39" class="abs low">13/39</td>
<td data-value="55.35" class="pct medium">55.35%</td>
<td data-value="56" class="abs medium">31/56</td>
<td data-value="32.5" class="pct low">32.5%</td>
<td data-value="40" class="abs low">13/40</td>
<td data-value="54.38" class="pct medium">54.38%</td>
<td data-value="57" class="abs medium">31/57</td>
</tr>

<tr>
<td class="file high" data-value="src/routers"><a href="src/routers/index.html">src/routers</a></td>
<td data-value="98.97" class="pic high">
<td data-value="98.98" class="pic high">
<div class="chart"><div class="cover-fill" style="width: 98%"></div><div class="cover-empty" style="width: 2%"></div></div>
</td>
<td data-value="98.97" class="pct high">98.97%</td>
<td data-value="98" class="abs high">97/98</td>
<td data-value="98.98" class="pct high">98.98%</td>
<td data-value="99" class="abs high">98/99</td>
<td data-value="50" class="pct medium">50%</td>
<td data-value="2" class="abs medium">1/2</td>
<td data-value="100" class="pct high">100%</td>
<td data-value="2" class="abs high">2/2</td>
<td data-value="100" class="pct high">100%</td>
<td data-value="97" class="abs high">97/97</td>
<td data-value="98" class="abs high">98/98</td>
</tr>

<tr>
<td class="file low" data-value="src/services"><a href="src/services/index.html">src/services</a></td>
<td data-value="45.03" class="pic low">
<div class="chart"><div class="cover-fill" style="width: 45%"></div><div class="cover-empty" style="width: 55%"></div></div>
<td data-value="39.86" class="pic low">
<div class="chart"><div class="cover-fill" style="width: 39%"></div><div class="cover-empty" style="width: 61%"></div></div>
</td>
<td data-value="45.03" class="pct low">45.03%</td>
<td data-value="151" class="abs low">68/151</td>
<td data-value="16.21" class="pct low">16.21%</td>
<td data-value="37" class="abs low">6/37</td>
<td data-value="43.24" class="pct low">43.24%</td>
<td data-value="37" class="abs low">16/37</td>
<td data-value="51.14" class="pct medium">51.14%</td>
<td data-value="131" class="abs medium">67/131</td>
<td data-value="39.86" class="pct low">39.86%</td>
<td data-value="153" class="abs low">61/153</td>
<td data-value="13.51" class="pct low">13.51%</td>
<td data-value="37" class="abs low">5/37</td>
<td data-value="39.47" class="pct low">39.47%</td>
<td data-value="38" class="abs low">15/38</td>
<td data-value="45.86" class="pct low">45.86%</td>
<td data-value="133" class="abs low">61/133</td>
</tr>

<tr>
Expand All @@ -228,21 +228,6 @@ <h1>All files</h1>
<td data-value="21" class="abs medium">13/21</td>
</tr>

<tr>
<td class="file high" data-value="tests/helpers"><a href="tests/helpers/index.html">tests/helpers</a></td>
<td data-value="95.65" class="pic high">
<div class="chart"><div class="cover-fill" style="width: 95%"></div><div class="cover-empty" style="width: 5%"></div></div>
</td>
<td data-value="95.65" class="pct high">95.65%</td>
<td data-value="23" class="abs high">22/23</td>
<td data-value="80" class="pct high">80%</td>
<td data-value="5" class="abs high">4/5</td>
<td data-value="100" class="pct high">100%</td>
<td data-value="2" class="abs high">2/2</td>
<td data-value="95.65" class="pct high">95.65%</td>
<td data-value="23" class="abs high">22/23</td>
</tr>

</tbody>
</table>
</div>
Expand All @@ -251,7 +236,7 @@ <h1>All files</h1>
<div class='footer quiet pad2 space-top1 center small'>
Code coverage generated by
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
at 2025-11-27T05:11:24.655Z
at 2025-11-28T02:07:47.651Z
</div>
<script src="prettify.js"></script>
<script>
Expand Down
2 changes: 1 addition & 1 deletion coverage/lcov-report/src/app.ts.html
Original file line number Diff line number Diff line change
Expand Up @@ -184,7 +184,7 @@ <h1><a href="../index.html">All files</a> / <a href="index.html">src</a> app.ts<
<div class='footer quiet pad2 space-top1 center small'>
Code coverage generated by
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
at 2025-11-27T05:11:24.655Z
at 2025-11-28T02:07:47.651Z
</div>
<script src="../prettify.js"></script>
<script>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -178,7 +178,7 @@ <h1><a href="../../index.html">All files</a> / <a href="index.html">src/controll
<div class='footer quiet pad2 space-top1 center small'>
Code coverage generated by
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
at 2025-11-27T05:11:24.655Z
at 2025-11-28T02:07:47.651Z
</div>
<script src="../../prettify.js"></script>
<script>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -280,7 +280,7 @@ <h1><a href="../../index.html">All files</a> / <a href="index.html">src/controll
<div class='footer quiet pad2 space-top1 center small'>
Code coverage generated by
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
at 2025-11-27T05:11:24.655Z
at 2025-11-28T02:07:47.651Z
</div>
<script src="../../prettify.js"></script>
<script>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -331,7 +331,7 @@ <h1><a href="../../index.html">All files</a> / <a href="index.html">src/controll
<div class='footer quiet pad2 space-top1 center small'>
Code coverage generated by
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
at 2025-11-27T05:11:24.655Z
at 2025-11-28T02:07:47.651Z
</div>
<script src="../../prettify.js"></script>
<script>
Expand Down
38 changes: 19 additions & 19 deletions coverage/lcov-report/src/controllers/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -23,30 +23,30 @@ <h1><a href="../../index.html">All files</a> src/controllers</h1>
<div class='clearfix'>

<div class='fl pad1y space-right2'>
<span class="strong">32.24% </span>
<span class="strong">29.43% </span>
<span class="quiet">Statements</span>
<span class='fraction'>89/276</span>
<span class='fraction'>83/282</span>
</div>


<div class='fl pad1y space-right2'>
<span class="strong">6.38% </span>
<span class="strong">4.16% </span>
<span class="quiet">Branches</span>
<span class='fraction'>3/47</span>
<span class='fraction'>2/48</span>
</div>


<div class='fl pad1y space-right2'>
<span class="strong">32.35% </span>
<span class="strong">28.57% </span>
<span class="quiet">Functions</span>
<span class='fraction'>11/34</span>
<span class='fraction'>10/35</span>
</div>


<div class='fl pad1y space-right2'>
<span class="strong">36.86% </span>
<span class="strong">32.53% </span>
<span class="quiet">Lines</span>
<span class='fraction'>87/236</span>
<span class='fraction'>81/249</span>
</div>


Expand Down Expand Up @@ -170,17 +170,17 @@ <h1><a href="../../index.html">All files</a> src/controllers</h1>

<tr>
<td class="file low" data-value="userController.ts"><a href="userController.ts.html">userController.ts</a></td>
<td data-value="29.82" class="pic low">
<div class="chart"><div class="cover-fill" style="width: 29%"></div><div class="cover-empty" style="width: 71%"></div></div>
<td data-value="17.46" class="pic low">
<div class="chart"><div class="cover-fill" style="width: 17%"></div><div class="cover-empty" style="width: 83%"></div></div>
</td>
<td data-value="29.82" class="pct low">29.82%</td>
<td data-value="57" class="abs low">17/57</td>
<td data-value="9.09" class="pct low">9.09%</td>
<td data-value="11" class="abs low">1/11</td>
<td data-value="25" class="pct low">25%</td>
<td data-value="8" class="abs low">2/8</td>
<td data-value="34" class="pct low">34%</td>
<td data-value="50" class="abs low">17/50</td>
<td data-value="17.46" class="pct low">17.46%</td>
<td data-value="63" class="abs low">11/63</td>
<td data-value="0" class="pct low">0%</td>
<td data-value="12" class="abs low">0/12</td>
<td data-value="11.11" class="pct low">11.11%</td>
<td data-value="9" class="abs low">1/9</td>
<td data-value="17.46" class="pct low">17.46%</td>
<td data-value="63" class="abs low">11/63</td>
</tr>

</tbody>
Expand All @@ -191,7 +191,7 @@ <h1><a href="../../index.html">All files</a> src/controllers</h1>
<div class='footer quiet pad2 space-top1 center small'>
Code coverage generated by
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
at 2025-11-27T05:11:24.655Z
at 2025-11-28T02:07:47.651Z
</div>
<script src="../../prettify.js"></script>
<script>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -220,7 +220,7 @@ <h1><a href="../../index.html">All files</a> / <a href="index.html">src/controll
<div class='footer quiet pad2 space-top1 center small'>
Code coverage generated by
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
at 2025-11-27T05:11:24.655Z
at 2025-11-28T02:07:47.651Z
</div>
<script src="../../prettify.js"></script>
<script>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -154,7 +154,7 @@ <h1><a href="../../index.html">All files</a> / <a href="index.html">src/controll
<div class='footer quiet pad2 space-top1 center small'>
Code coverage generated by
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
at 2025-11-27T05:11:24.655Z
at 2025-11-28T02:07:47.651Z
</div>
<script src="../../prettify.js"></script>
<script>
Expand Down
Loading