๐พ
Project Hail Mary๋ ๊ฐ ์ฌ์ฉ์๊ฐ ์์ ๋ง์ ์์ ์ฐ์ฃผ๋ฅผ ๊พธ๋ฐ ์ ์๋๋ก ์ค๊ณ๋ 3D ์นํ์ด์ง์ ๋๋ค. ์ด๊ณณ์์ ์์๊ณผ ๋ชฉํ๋ฅผ ์ฐ์ฃผ์ ๋ณ๊ณผ ํ์ฑ๐ช์ฒ๋ผ ๋์ฐ๊ณ , ๊ทธ ๋ชฉํ๋ฅผ ์ด๋ฃจ๋ ์๊ฐ ๋ณ๋ฅ๋ณ์ด ๋จ์ด์ง๋ฉฐ ๋น์ ์ ์ถํํฉ๋๋ค. ๐
๋ณ๋ฅ๋ณ์ ๊ธฐ๋ค๋ฆฌ๊ธฐ๋ง ํ๋ ๊ฒ์ด ์๋๋ผ, ์ด์ ๋ ์ค์ค๋ก ๋ชฉํ๋ฅผ ์ด๋ฃจ์ด ๋ณ๋ฅ๋ณ์ ๋ง๋ค์ด ๋ด๋ ์ฃผ์ธ๊ณต์ด ๋์ด ๋ณด์ธ์.
๊น๋ค์ฐ (ํ์๋ ์ ๋ณด์์คํ ํ๊ณผ22, FE)
๋ฐ์คํธ (์นด์ด์คํธ ์ ์ฐํ๊ณผ21, BE)
- ํ์ ํด : Github
- FE : React + TypeScript
- BE : Node.js + Express
- DB : MongoDB Atlas
- Server: AWS EC2
- IDE : VSCode
- ๋์์ธ : Figma
- ์ฌ์ฉ api : Open AI api, NASA APOD api
Base URL:
ํฌํธ: 3000
| Category | Method | URL | Reosponses | ์ค๋ช |
|---|---|---|---|---|
| ์ฌ์ฉ์ ๊ด๋ฆฌ ๐ฉโ๐ง | GET | /auth/callback | 400, 500 | Redirection URI ์ฒ๋ฆฌ |
| POST | /api/users/auth/google | 200, 400, 500 | Google ๋ก๊ทธ์ธ DB ์ ๋ฌ | |
| GET | /api/users/me | 200, 400, 404, 500 | ํ์ฌ ์ฌ์ฉ์ ์ ๋ณด ์กฐํ | |
| POST | /api/users/me/sendRequest | 200, 400, 404, 500 | ์น๊ตฌ ์์ฒญ ์ ์ก | |
| POST | /api/users/me/addFriend | 200, 400, 404, 500 | ์น๊ตฌ ์์ฒญ ์๋ฝ | |
| POST | /api/users/me/deleteFriend | 200, 400, 404, 500 | ์น๊ตฌ ์ถ๋ฐฉ(์ญ์ ) | |
| POST | /api/users/me/refuse | 200, 400, 404, 500 | ์น๊ตฌ ์์ฒญ ๊ฑฐ์ | |
| GET | /api/users/me/friends | 200, 500 | ์น๊ตฌ ๋ชฉ๋ก ์กฐํ | |
| GET | /api/users/me/requests | 200, 500 | ์น๊ตฌ ์์ฒญ ์กฐํ | |
| ๋ฒํท๋ฆฌ์คํธ ๊ด๋ฆฌ ๐ซ **** | POST | /api/buckets | 201, 400, 500 | ์ ๋ฒํท๋ฆฌ์คํธ ์์ฑ |
| GET | /api/buckets | 200, 500 | ๋ฒํท๋ฆฌ์คํธ ์กฐํ | |
| PATCH | /api/buckets/:id/complete | 200, 404, 500 | ๋ฒํท๋ฆฌ์คํธ ๋ฌ์ฑ ์ฒ๋ฆฌ | |
| DELETE | /api/buckets/:id/delete | 200, 404, 500 | ๋ฒํท๋ฆฌ์คํธ ์ญ์ | |
| GET | /api/buckets/friend | 200, 400, 403, 404, 500 | ์น๊ตฌ ๋ฒํท๋ฆฌ์คํธ ์กฐํ | |
| ๋ณ์๋ฆฌ/์ด์ธ ๊ด๋ฆฌ โญ | GET | /api/horoscopes | 200, 500 | ๋ณ์๋ฆฌ ์ ๋ณด ์กฐํ |
| GET | /api/horoscopes/:sign | 200, 404, 500 | ์ค๋์ ์ด์ธ ์กฐํ | |
| NASA api ๊ด๋ฆฌ ๐ | GET | /api/apod/random | 500 | NASA api ์ด๋ฏธ์ง ๊ด๋ฆฌ |
DB ๊ตฌ์กฐ
ํ์ ์ ์
๐พ
๋๋ฉํ์ด์ง์์๋ ๋งค์ผ ๋ค๋ฅธ ์ฐ์ฃผ ๊ด๋ จ ์ด๋ฏธ์ง๋ฅผ ๋ณด์ฌ์ค๋๋ค. ์ฌ์ง์ ํด๋ฆญํ๋ฉด ๊ตฌ๊ธ ๋ก๊ทธ์ธ ์ฐฝ์ผ๋ก ์ด๋ํ๊ฒ ๋ฉ๋๋ค.
๐พ
My space๋ ๋ฒํท๋ฆฌ์คํธ๋ฅผ ์ถ๊ฐํ ์ ์๋ 3D ์ฐ์ฃผ ๊ณต๊ฐ์ ๋ณด์ฌ์ค๋๋ค. ์ผ์ชฝ ํ๋จ์ ์๋ ๋ฒํท๋ฆฌ์คํธ ์ถ๊ฐ ๋ฒํผ์ ๋๋ฅด๊ณ ๋ฒํท๋ฆฌ์คํธ๋ฅผ ํ ํ To Space ๋ฒํผ์ ๋๋ฅด๋ฉด ๋๋ค ํ์ฑ์ด 3D ์ฐ์ฃผ ๊ณต๊ฐ ๋ด์ ๋๋คํ ์์น์ ์์ฑ๋ฉ๋๋ค. ๊ทธ ํ์ฑ์ ํ ๋ฒ ๋ ๋๋ฅด๋ฉด ๋ฌ์ฑ ์ฒ๋ฆฌ๊ฐ ๊ฐ๋ฅํ๊ณ , ์ถํํ๋ ์๋ฏธ์์ ๋ณ๋ฅ๋ณ ์ดํํธ๊ฐ ๋ณด์ฌ์ง๊ฒ ๋ฉ๋๋ค. โ๋ค์ ์์โ ๋ฒํผ์ ๋๋ฅด๋ฉด ๋ฒํท๋ฆฌ์คํธ๋ฅผ ํฌ๊ธฐํ ๊ฒ์ด ๋์ด ์ฐ์ฃผ ๊ณต๊ฐ์์ ๋๋ค ํ์ฑ์ด ์ฌ๋ผ์ง๊ฒ ๋ฉ๋๋ค.
gallery.mp4
Gallery๋ 3*3 ํํ์ ๋๋คํ ์ฐ์ฃผ ๊ด๋ จ ์ด๋ฏธ์ง๋ฅผ ๋ถ๋ฌ์ต๋๋ค. ๋ง์ฐ์ค ํธ๋ฒ ์ ๊ทธ ์ด๋ฏธ์ง์ ๋ํ ์ค๋ช ์ด ๋น๋๋ค. ์๋ก๊ณ ์นจ ํ ๋๋ง๋ค ์ด๋ฏธ์ง๋ ๋๋คํ๊ฒ ๋ค์ ๋ถ๋ฌ์์ง๊ฒ ๋ฉ๋๋ค. ์ด๋ ๋์ฌ APOD api๋ฅผ ํตํด์ ๊ตฌํํ์์ต๋๋ค.
horoscope.mp4
Horoscope ํญ์์๋ ๋ณ์๋ฆฌ์ ๋ฐ๋ฅธ ์ค๋์ ์ด์ธ๋ฅผ ์ ์ณ๋ณผ ์ ์์ต๋๋ค. ๋ณธ์ธ์ ๋ณ์๋ฆฌ๋ฅผ ์ฐพ์์ ํด๋ฆญํ๋ฉด ์ค๋์ ์ด์ธ ํญ์ผ๋ก ์ด๋ํ๊ฒ ๋ฉ๋๋ค. ์ด ํญ์์๋ openAI API๋ฅผ ํตํด ๋ฐ์ดํฐ๋ฅผ ๋ฐ์์ ์ ์ฒ๋ฆฌ ํ์ ๋ณด์ฌ์ค๋๋ค.
friend.mp4
Friend ํญ์ ์น๊ตฌ ๋ชฉ๋ก ๋ฐ ๊ทธ ์น๊ตฌ์ ๋ฒํท๋ฆฌ์คํธ, ๋ฌ์ฑ์ํ๋ฅผ ํ์ธํ ์ ์๋ ํญ์ ๋๋ค. ๊ตฌ๊ธ ์ด๋ฉ์ผ์ ํตํด์ ์น๊ตฌ ์์ฒญ์ ๋ณด๋ผ ์ ์๊ณ ์น๊ตฌ๊ฐ ์น๊ตฌ ์๋ฝ์ ๋๋ฅด๋ฉด ์ฆ์ ์น๊ตฌ ๋ชฉ๋ก์์ ๋ณด์ฌ์ง๊ฒ ๋ฉ๋๋ค. ๋ ์น๊ตฌ์ ๋ฒํท๋ฆฌ์คํธ ๋ฌ์ฑ ์ํ ๋ํ ์ค์๊ฐ์ผ๋ก ํ์ธํ ์ ์์ต๋๋ค. โ์ถ๋ฐฉโ ๋ฒํผ์ ๋๋ฅด๋ฉด ์น๊ตฌ๊ฐ ์น๊ตฌ ํญ์์ ์ฌ๋ผ์ง๊ฒ ๋ฉ๋๋ค.
mypage.mp4
Mypage์์๋ ๋ด๊ฐ ๋ฌ์ฑํ ๋ฒํท๋ฆฌ์คํธ๋ค์ ํ์ธํ ์ ์์ต๋๋ค. ๋ฒํท๋ฆฌ์คํธ๋ฅผ ๋ฌ์ฑํ๋ ๊ฒ ๋ณ์ ์์งํ๋ ๊ฒ ๋๋ ์ปจ์ ์ด๋ผ ๋ณ์ ๋ชจ์๋ค๊ณ ํํํด๋ณด์์ต๋๋ค. ์ฐ์ธก ํ๋จ์ ๋ก๊ทธ์์ ๋ฒํผ์ ํตํด ๋ก๊ทธ์์๋ ๊ฐ๋ฅํฉ๋๋ค.