Blended Wave ํ ํฌํธํด๋ฆฌ์ค ๊ด๋ฆฌ ์์นด์ด๋ธ
๐ Production: http://thisiscuzz.com
๊ฐ๋ฐ๊ธฐ๊ฐ: 2024.03 ~ ํ์ฌ (์ง์์ ์ด์ ๋ฐ ๊ฐ์ )
๋ฐฐํฌํ๊ฒฝ: AWS EC2 + RDS + S3
Blended Wave Archive๋ ์ํฐ์คํธํ Blended Wave ๋ฉค๋ฒ๋ค์ ์ํ์ ๊ด๋ฆฌํ๊ณ ์ ์ํ ์ ์๋ ํ๋ซํผ์ ๋๋ค.
- ๐จ ์ํ ๊ด๋ฆฌ: ์ด๋ฏธ์ง/๋น๋์ค ์ ๋ก๋, ๋ฉํ๋ฐ์ดํฐ ๊ด๋ฆฌ, ์๋ฆฌ์ฆ ๋ถ๋ฅ
- ๐ฅ ์ฌ์ฉ์ ์์คํ : ์ธ์ ๊ธฐ๋ฐ ์ธ์ฆ, ํ๋กํ ๊ด๋ฆฌ, ์ํฐ์คํธ๋ณ ์๊ฐ ์์ ๋ฌผ ๋ชจ์๋ณด๊ธฐ
- ๐ ์ํ ํ์: ์ต์ ์/์กฐํ์์ ์ ๋ ฌ, ํ์ด์ง๋ค์ด์ , ์์ธ ๋ชจ๋ฌ
โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ
โ Client Side โ โ Server Side โ โ Data Layer โ
โ โ โ โ โ โ
โ Next.js 14 โโโโโบโ NestJS 10 โโโโโบโ MySQL 8.0 โ
โ React 18 โ โ Node.js 20 โ โ (AWS RDS) โ
โ TypeScript โ โ TypeScript โ โ โ
โ โ โ โ โ Redis Session โ
โ โ โ Passport.js โ โ โ
โ โ โ TypeORM โ โ AWS S3 โ
โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ
โ โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโโโโโโโโโโโ
โ Infrastructure โ
โ โ
โ AWS EC2 โ
โ Nginx Proxy โ
โ PM2 Cluster โ
โ SSL/TLS โ
โโโโโโโโโโโโโโโโโโโ
- Node.js >= 20.0.0
- npm >= 10.0.0
- MySQL >= 8.0
- Redis >= 6.0
-
Repository Clone
git clone https://github.com/your-username/blended-wave.git cd blended-wave -
Backend Setup
cd bw-archive/backend npm install # ํ๊ฒฝ๋ณ์ ์ค์ cp .env.example .env # .env ํ์ผ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ ๋ณด ์ ๋ ฅ # ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ง์ด๊ทธ๋ ์ด์ npm run build npm start
-
Frontend Setup
cd ../frontend npm install npm run dev -
Access Application
- Frontend: http://localhost:3000
- Backend API: http://localhost:4000
- Admin Panel: http://localhost:3000/admin
Backend (.env)
# Database
DATABASE_HOST=localhost
DATABASE_PORT=3306
DATABASE_USERNAME=your_username
DATABASE_PASSWORD=your_password
DATABASE_DB=blended_wave
# Session
SESSION_SECRET=your_session_secret
REDIS_HOST=localhost
REDIS_PORT=6379
# AWS S3
AWS_ACCESS_KEY_ID=your_access_key
AWS_SECRET_ACCESS_KEY=your_secret_key
S3_BUCKET_NAME=your_bucket_name
AWS_REGION=ap-northeast-2- YouTube ๋ฐฐ๊ฒฝ ๋น๋์ค: ์๊ฐ์ ์ํฉํธ๋ฅผ ์ํ ๋์์ ๋ฐฐ๊ฒฝ
- ์ ๋ ฌ ์ต์ : ์ต์ ์, ์กฐํ์์, ๊ณ ์ ์ํ
- ํ์ด์ง๋ค์ด์ : 12๊ฐ์ฉ ๋ถํ ๋ก๋ฉ
- ์ํ ์ฌ๋ผ์ด๋: Swiper ๊ธฐ๋ฐ ์ธํฐ๋ํฐ๋ธ ๊ฐค๋ฌ๋ฆฌ
- ์ํ ์์ธ ๋ชจ๋ฌ: ํด๋ฆญ ์ ์์ธ ์ ๋ณด ํ์
- ์ฌ์ฉ์ ๊ด๋ฆฌ: ๊ณ์ ์ํ ๊ด๋ฆฌ
- ์ํ ๊ด๋ฆฌ: CRUD ์์ , ์ํ ๋ณ๊ฒฝ
- โ ๊ธฐ๋ณธ CRUD ์์คํ ๊ตฌ์ถ
- โ ์ธ์ ๊ธฐ๋ฐ ์ธ์ฆ ๊ตฌํ
- โ AWS S3 ํ์ผ ์ ๋ก๋ ์์คํ
- โ ๊ด๋ฆฌ์ ํจ๋ ๊ตฌํ
- โ ๋ฐ์ํ UI ์ ์ฉ
- โ ํ๋ก๋์ ๋ฐฐํฌ ์๋ฃ
- ๐ ์ฑ๋ฅ ๋ชจ๋ํฐ๋ง ์์คํ ๋์
- ๐ CI/CD ํ์ดํ๋ผ์ธ ๊ตฌ์ถ
- ๐ Redis ์บ์ฑ ๋ ์ด์ด ์ถ๊ฐ (ํ์ฌ๋ ์ธ์ ์คํ ์ด๋ก๋ง ํ์ฉ)
- ๐ ์ด๋ฏธ์ง ์ต์ ํ (WebP, ๋ฆฌ์ฌ์ด์ง)
ํผ๋๋ฐฑ๊ณผ ์ ์์ ์ธ์ ๋ ํ์ํฉ๋๋ค!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
์ด ํ๋ก์ ํธ๋ MIT ๋ผ์ด์ผ์ค ํ์ ์์ต๋๋ค. ์์ธํ ๋ด์ฉ์ LICENSE ํ์ผ์ ์ฐธ์กฐํ์ธ์.
์ด๋ฉ์ผ: [email protected]