๋ง๊ณ ํ๋ ์ค
ํ๋ก์ ํธ์ ๋ ํฌ์งํ ๋ฆฌ ์
๋๋ค.
๋ง๊ณ ํ๋ ์ค! ๋น์ ์ ์์ด ํ์ต์ ์ํ ์๋ก์ด ํํธ๋! ๐โจ
๋ง๊ณ ํ๋ ์ค๋ ๋ฒ์ญ์ ์ค์ฌ์ผ๋ก ์์๋ด์ค๋ฅผ ํตํด ์์ด ํ์ต์ ์ง์ํ๋ ์น ์๋น์ค์ ๋๋ค. ์ํ๋ ์์์ ๋ฌธ์ ์ ํํ๊ณ , ๊ธฐ์ฌ๋ฅผ ๋ฒ์ญํ๋ฉฐ ๋ชจ๋ฅด๋ ๋จ์ด๋ฅผ ํด๋ฆญํ๋ฉด ๋ฐ๋ก ๊ทธ ๋ป์ ํ์ธํ ์ ์์ต๋๋ค. ๐๏ธ๐
๋ ํด, ์ดํ, ์์ฌ๊น์ง, ๊ธฐ์ฌ๋ฅผ ์ฝ์ผ๋ฉฐ ๋ค์ํ ์์ญ์ ์์ด๋ฅผ ํ ๋ฒ์ ํ์ตํ์ธ์. ๋ฐ๊ฒฌํ ์๋ก์ด ๋จ์ด๋ค์ ๊ฐ์ธ ๋จ์ด์ฅ์ ์ ์ฅ๋์ด, ์ธ์ ๋ ์ง ๋ณต์ตํ ์ ์์ต๋๋ค. ๐๐ผ
์ฝ์๋ ๊ธฐ์ฌ๋ค๊ณผ ๋ฒ์ญ์ ๋์ ํ๋ ๋ด์ฉ๋ค์ ๋ณ๋๋ก ๋ชจ์, ํ์ต์ ํจ๊ณผ๋ฅผ ๊ทน๋ํํ ์ ์๋๋ก ๋์๋๋ฆฝ๋๋ค. ๐๐
์ธ์ด: Java
ํ๋ ์์ํฌ: Spring Boot
๋ผ์ด๋ธ๋ฌ๋ฆฌ: JPA, Lombok, Spring Security, Spring Data JPA, Spring Web, Feign Client
๋ฐ์ดํฐ๋ฒ ์ด์ค: postgreSQL
ํด๋ผ์ฐ๋: AWS EC2
์ธํ๋ผ: Docker
์ธ์ด: JavaScript
UI ๋ผ์ด๋ธ๋ฌ๋ฆฌ: React
์ํ๊ด๋ฆฌ: Jotai
CSS ๋ผ์ด๋ธ๋ฌ๋ฆฌ: emotion
์ธ์ด: Python
์ฌ์ฉ ๋ผ์ด๋ธ๋ฌ๋ฆฌ: chat gpt, deepl
์ธ์ด: Python
์ฌ์ฉ ๋ผ์ด๋ธ๋ฌ๋ฆฌ: newspaper3k
- ec2 ํ๋์ ์ฌ๋ฌ Docker ์ปจํ ์ด๋๋ก ๊ตฌ์ฑ๋์ด ์์ต๋๋ค.
- ๊ฐ ์ปจํ ์ด๋๋ lingopress_network๋ผ๋ ๋์ปค ๋คํธ์ํฌ๋ฅผ ํตํด ์๋ก ํต์ ํ๋ฉฐ frontend ์ปจํ ์ด๋๋ง ์ธ๋ถ์์ ์ ๊ทผํ ์ ์๋๋ก ๊ตฌ์ฑํ์์ต๋๋ค.
lingopress-nginx
์ปจํ ์ด๋๋ Nginx๋ฅผ ํตํด ๋์ํ๋ฉฐ ํ๋ก ํธ ํ๋ฉด์ ์ ์ ์ผ๋ก ์ ๊ณตํฉ๋๋ค. ๋ํ, backend ์ปจํ ์ด๋๋ก์ ์์ฒญ์ ๋ฐ์ ๋ฆฌ๋ฒ์ค ํ๋ก์๋ก ์ฒ๋ฆฌํฉ๋๋ค. ์ ์ผํ๊ฒ ์ธ๋ถ์ ํต์ ํ๋ ์ปจํ ์ด๋์ ๋๋ค.lingopress-backend
์ปจํ ์ด๋๋ Spring Boot๋ก ๊ตฌ์ฑ๋์ด ์์ผ๋ฉฐ, postgreSQL๊ณผ ์ฐ๊ฒฐ๋์ด ์์ต๋๋ค.lingopress-db
์ปจํ ์ด๋๋ postgreSQL์ ์ฌ์ฉํ๋ฉฐ, ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ ์ฅํฉ๋๋ค.lingopress-scarper
์ปจํ ์ด๋๋ python์ ์ฌ์ฉํ์ฌ ์์์ ๋ฌธ์ ์คํฌ๋ํํ๊ณ deepL๋ก ๋ฒ์ญํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅํฉ๋๋ค. ec2๊ฐ ํฌ๋ก ์ ํตํด ํ๋ฃจ์ ํ๋ฒ์ฉ๋ง ์คํํฉ๋๋ค.lingopress-ai
์ปจํ ์ด๋๋ chatgpt api๋ฅผ ์ฌ์ฉํ์ฌ ๋ฒ์ญ์ ์ฒ๋ฆฌํฉ๋๋ค. ์ถํ ๋ฌธ์ฅ ์ ์ฌ๋ ๋ถ์๊ธฐ๋ฅ์ ์ถ๊ฐํ๋ฉด์ ์จํ๋ ๋ฏธ์ค๋ก ๋ณ๊ฒฝํ ์์ ์ ๋๋ค.- docker ์ปจํ
์ด๋๋ฅผ ๊ด๋ฆฌํ๊ธฐ ์ํด
portainer
๋ฅผ ์ฌ์ฉํ์์ต๋๋ค. - docker ์ด๋ฏธ์ง๋ docker hub์ public์ผ๋ก ์ ๋ก๋ ๋๊ธฐ์, ์คํ๋ง๊ณผ ๋์ปค์ ํ๊ฒฝ๋ณ์ ๊ธฐ๋ฅ์ ์ด์ฉํด ์ ๋ ฅํ๋๋ก ๊ตฌ์ฑํ์์ต๋๋ค.