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
22 changes: 22 additions & 0 deletions .github/ISSUE_TEMPLATE/✨feature-request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
---
name: "✨Feature request"
about: Suggest an idea for this project
title: ''
labels: ''
assignees: ''

---

### ✨ 구현 할 기능
- 기능에 대해 간략하게 설명해주세요!

<br>

### 📢 구현 방식
- 기능을 구현할 방식에 대해 설명해주세요.

<br>

### 📑 기능 명세
- [ ] 설명1
- [ ] 설명2
26 changes: 26 additions & 0 deletions .github/ISSUE_TEMPLATE/🐞bug-report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
---
name: "\U0001F41EBug report"
about: Create a report to help us improve
title: ''
labels: ''
assignees: ''

---

### 🐞 오류 내용
- 오류 내용 및 오류 발생 상황을 알려주세요!

<br>

### 📝 기대하는 결과
- 원래 어떤 동작을 기대했나요?

<br>

### 🚩 오류 발견 위치
- 특정 API 엔드포인트 또는 UI 페이지

<br>

### 📸 에러 캡쳐
- 주요 에러 stack trace를 캡쳐해주세요!(선택)
20 changes: 20 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
### ⛓️‍💥 Issue Number
- #3
Validation 라이브러리 추가

<br/>
### 🔎 Summary

- build.gradle에 spring-start-validation 추가

<br/>
### ✅ PR 유형
어떤 변경 사항이 있나요?

- [ ] 새로운 기능 추가
- [ ] 코드 리팩토링
- [ ] 버그 수정
- [ ] 코드에 영향을 주지 않는 변경사항(오타 수정, 탭 사이즈 변경, 변수명 변경, git template 수정)
- [ ] 테스트 추가, 테스트 리팩토링
- [ ] 빌드 부분 혹은 패키지 매니저 수정
- [ ] 파일 혹은 폴더명 수정/삭제
44 changes: 44 additions & 0 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
name: Deploy to EC2

on:
push:
branches: [ dev ]

jobs:
deploy:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3

- name: Set up JDK
uses: actions/setup-java@v3
with:
java-version: '21'
distribution: 'temurin'

- name: Build with Gradle
run: |
chmod +x ./gradlew
./gradlew build -x test

- name: Deploy to EC2
uses: appleboy/scp-action@master
with:
host: ${{ secrets.EC2_HOST }}
username: ${{ secrets.EC2_USERNAME }}
key: ${{ secrets.EC2_SSH_KEY }}
source: "build/libs/*.jar"
target: "/home/ubuntu/deploy"
strip_components: 1

- name: Execute deploy script on EC2
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.EC2_HOST }}
username: ${{ secrets.EC2_USERNAME }}
key: ${{ secrets.EC2_SSH_KEY }}
script: |
cd /home/ubuntu/deploy
chmod +x deploy.sh
./deploy.sh
20 changes: 19 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1 +1,19 @@
# Frontend
# YOUNGFLIX

* 💻 React
* 🎨 Tailwind CSS & CSS
* 🛠 DATABASE TMDB https://www.themoviedb.org/

📂 프로젝트 구조

<img width="290" alt="image" src="https://github.com/user-attachments/assets/b40fa32e-d033-4ad0-bf4a-a35d64059f70" />


<img width="1710" alt="스크린샷 2025-04-05 오후 10 57 38" src="https://github.com/user-attachments/assets/9def3454-ea3e-495c-ac45-7d3685071126" />
<img width="1710" alt="스크린샷 2025-04-05 오후 10 57 49" src="https://github.com/user-attachments/assets/46c8c168-badf-4816-a407-f68cfbd50d3c" />
<img width="1710" alt="스크린샷 2025-04-05 오후 10 57 59" src="https://github.com/user-attachments/assets/4009235e-92cf-46f6-9269-a31d2a0829e3" />
<img width="1704" alt="스크린샷 2025-04-05 오후 10 58 30" src="https://github.com/user-attachments/assets/acfb8db5-f4ef-4ea5-bf16-3d2e520fb33e" />


https://github.com/user-attachments/assets/29623865-5e7d-4240-b164-95dfd26973b9

26 changes: 26 additions & 0 deletions YOUNGFLX/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*

node_modules
dist
dist-ssr
*.local

# Editor directories and files
.vscode/*
!.vscode/extensions.json
.idea
.DS_Store
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?

.env
54 changes: 54 additions & 0 deletions YOUNGFLX/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
# React + TypeScript + Vite

This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.

Currently, two official plugins are available:

- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/README.md) uses [Babel](https://babeljs.io/) for Fast Refresh
- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh

## Expanding the ESLint configuration

If you are developing a production application, we recommend updating the configuration to enable type-aware lint rules:

```js
export default tseslint.config({
extends: [
// Remove ...tseslint.configs.recommended and replace with this
...tseslint.configs.recommendedTypeChecked,
// Alternatively, use this for stricter rules
...tseslint.configs.strictTypeChecked,
// Optionally, add this for stylistic rules
...tseslint.configs.stylisticTypeChecked,
],
languageOptions: {
// other options...
parserOptions: {
project: ['./tsconfig.node.json', './tsconfig.app.json'],
tsconfigRootDir: import.meta.dirname,
},
},
})
```

You can also install [eslint-plugin-react-x](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-x) and [eslint-plugin-react-dom](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-dom) for React-specific lint rules:

```js
// eslint.config.js
import reactX from 'eslint-plugin-react-x'
import reactDom from 'eslint-plugin-react-dom'

export default tseslint.config({
plugins: {
// Add the react-x and react-dom plugins
'react-x': reactX,
'react-dom': reactDom,
},
rules: {
// other rules...
// Enable its recommended typescript rules
...reactX.configs['recommended-typescript'].rules,
...reactDom.configs.recommended.rules,
},
})
```
28 changes: 28 additions & 0 deletions YOUNGFLX/eslint.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
import js from '@eslint/js'
import globals from 'globals'
import reactHooks from 'eslint-plugin-react-hooks'
import reactRefresh from 'eslint-plugin-react-refresh'
import tseslint from 'typescript-eslint'

export default tseslint.config(
{ ignores: ['dist'] },
{
extends: [js.configs.recommended, ...tseslint.configs.recommended],
files: ['**/*.{ts,tsx}'],
languageOptions: {
ecmaVersion: 2020,
globals: globals.browser,
},
plugins: {
'react-hooks': reactHooks,
'react-refresh': reactRefresh,
},
rules: {
...reactHooks.configs.recommended.rules,
'react-refresh/only-export-components': [
'warn',
{ allowConstantExport: true },
],
},
},
)
12 changes: 12 additions & 0 deletions YOUNGFLX/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>YOUNGFLIX</title>
</head>
<body>
<div id="root"></div>
<script type="module" src="/src/main.tsx"></script>
</body>
</html>
34 changes: 34 additions & 0 deletions YOUNGFLX/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
{
"name": "package.json",
"private": true,
"version": "0.0.0",
"type": "module",
"scripts": {
"dev": "vite",
"build": "tsc -b && vite build",
"lint": "eslint .",
"preview": "vite preview"
},
"dependencies": {
"@tailwindcss/vite": "^4.1.3",
"axios": "^1.8.4",
"js-cookie": "^3.0.5",
"react": "^19.0.0",
"react-dom": "^19.0.0",
"react-router-dom": "^7.5.0",
"tailwindcss": "^4.1.3"
},
"devDependencies": {
"@eslint/js": "^9.21.0",
"@types/react": "^19.0.10",
"@types/react-dom": "^19.0.4",
"@vitejs/plugin-react-swc": "^3.8.0",
"eslint": "^9.21.0",
"eslint-plugin-react-hooks": "^5.1.0",
"eslint-plugin-react-refresh": "^0.4.19",
"globals": "^15.15.0",
"typescript": "~5.7.2",
"typescript-eslint": "^8.24.1",
"vite": "^6.2.0"
}
}
Loading
Loading