Getting Projects Done(GPD) λ μ ν리μΌμ΄μ μλΉμ€ μΆμ μ UI, κΈ°λ₯ λ± νλ‘μ νΈ μ΅μ’ μ κ²μ¬νμ λν 체ν¬μ λͺ¨λ μλΉμ€μ λλ€.
κ° λ©λ΄μ μ 곡λ μ κ² νλͺ©μ λν΄ O,Xλ‘ μ²΄ν¬ν μ μμΌλ©°, X(No) νλͺ©μ μλμΌλ‘ νλ‘μ νΈ λ³΄λμ μΆκ°λμ΄ ν¨μ¨μ μΌλ‘ μμ μμ μ κ΄λ¦¬ν μ μμ΅λλ€.
- (κΈ°ν) κ°λ°μ, λμμ΄λ, PM, QA λ± λ€μν νμμ΄ νλμ νλ‘μ νΈμμ κ°μμ μμ
μνλ₯Ό νμΈνκ³ μ
λ°μ΄νΈν μ μλλ‘ μ²΄κ³μ μΈ νμ
λͺ¨λμ κΈ°ννμ΅λλ€.
- κΈ°μ‘΄μλ μ£Όλ‘ μ€νλ λμνΈλ₯Ό νμ©ν΄ μ 보λ₯Ό 곡μ νμ§λ§, λ ν¨μ¨μ μΈ νμ μ μν΄ μ΄λ₯Ό λ체ν λ¨μΌ λͺ¨λμ΄ νμνλ€κ³ νλ¨νμ΅λλ€.
- νλ‘μ νΈ μ§ν μν©μ μ€μκ°μΌλ‘ νμΈνκ³ , λμΉ λΆλΆμ μ μνκ² λ³΄μν΄, ν νλ¦ λ΄μμ 체ν¬μ κ³Ό μμ 보λκ° ν΅ν©λλ μμ€ν μ λͺ©νλ‘ ν©λλ€.
- (λμμΈ)
Figma
λ₯Ό μ¬μ©ν΄ μ¬ννλ©΄μλ μ§κ΄μ μΈ UIλ₯Ό ꡬννμ΅λλ€.- κ° νμ΄μ§μ μνΈλ¦¬(entry), λ©μΈλ³΄λ(mainboard) λ± μ£Όμ νλ©΄λ³λ‘ νμν μ»΄ν¬λνΈλ₯Ό μ€κ³ν΄ μ¬μ©μκ° μ½κ² μ κ·Όνκ³ μ΄ν΄ν μ μλ μΈν°νμ΄μ€λ₯Ό μλνμ΅λλ€.

- λ°μ΄ν°λ² μ΄μ€ μ€κ³ SQLite3λ₯Ό μ¬μ©νμ¬ νλ‘μ νΈ λ°μ΄ν°λ² μ΄μ€λ₯Ό ꡬμΆνμ΅λλ€.
- User μ 보 λ° Project λ§μ€ν° λ°μ΄ν°μ μ μ₯ λ° μ‘°ν, μμ μ κ°νΈνκ² μ²λ¦¬ν μ μλλ‘ μ€κ³νμ΅λλ€.

- (λͺ¨λ
Έλ ν¬ κ΅¬μ±) νλ‘μ νΈλ λͺ¨λ
Έλ ν¬ κ΅¬μ‘°λ‘ μ€κ³νμ¬, νλμ μ μ₯μ μμμ μλ²μ ν΄λΌμ΄μΈνΈ μ½λλ₯Ό ν¨κ» κ΄λ¦¬ν μ μλλ‘ νμ΅λλ€.
- μ΄λ₯Ό ν΅ν΄ μ½λλ² μ΄μ€μ μΌκ΄μ±μ μ μ§νκ³ , μλ²μ ν΄λΌμ΄μΈνΈ κ°μ νμ λ° μμ‘΄μ± κ΄λ¦¬λ₯Ό κ°μννμ΅λλ€.
- (ν¨ν€μ§ κ΄λ¦¬) Yarnμ μ¬μ©νμ¬ ν¨ν€μ§λ₯Ό κ΄λ¦¬νμμΌλ©°, νΉν Yarn Berry(λ²μ 3.5.1)λ₯Ό ν΅ν΄ ν¨μ¨μ μΈ μν¬μ€νμ΄μ€ κ΄λ¦¬λ₯Ό ꡬννμ΅λλ€.
- μ΄λ₯Ό ν΅ν΄ μ€λ³΅λλ ν¨ν€μ§λ₯Ό μ€μ΄κ³ , κ° λͺ¨λ(server/client)μ μμ‘΄μ±μ ν¨κ³Όμ μΌλ‘ κ΄λ¦¬ν μ μμμ΅λλ€.
server/ - GraphQL μλ²
client/ - React μ±
- Nest.js
- TypeORM
- Apollo Server
- passport, bcrypt (for Auth, Login)
src/
auth/, project/, register/ ... - μλΉμ€ λλ©μΈλ³ νμ λλ ν λ¦¬λ‘ κ΅¬μ±
- resolver
- service
- module
- repository
entities/ - λ°μ΄ν°λ² μ΄μ€ ν
μ΄λΈμ ꡬ쑰 λ° νλ μ μ κ°μ²΄
schema/ - graphql schema
types/ - νμ
μ μ
app.module.ts
main.ts
...
gpd.db - sqlite databse νμΌ
package.json
...
- Apollo Client
- React(Vite)
- Typescript
- styled-components
- Recoil
src/
assets/ - μ΄λ―Έμ§, μμ΄μ½ λ± λ¦¬μμ€
graphql/ - API ν΅μ μ νμν graphql νμΌ
components/ - κ³΅ν΅ μ»΄ν¬λνΈ
hooks/ - custom hooks
pages/ - λλ©μΈ λ³ νμ΄μ§ κ΅¬μ± (entry, login, gpdBoard..)
types/ - νμ
μ μ
utils/ - μ νΈλ¦¬ν° ν¨μ λͺ¨μ
App.tsx
main.tsx
globalStyle.ts
Install yarn packages
yarn install
Start dev server
yarn workspace server start:dev
- Access the default http://localhost:4000
Start dev client
yarn workspace client dev
- Access the default http://localhost:4173
- νλ‘μ νΈ κΈ°ν λ° λμμΈ
- λ°μ΄ν°λ² μ΄μ€ κ΅¬μΆ λ° νλ‘μ νΈ μ°λ
- entity λ° λλ©μΈ λ³ API ꡬμΆ
- λ‘κ·ΈμΈ λ° μΈμ¦(JWT) μλ² λ‘μ§ κ΅¬ν, ν΄λΌμ΄μΈνΈ μ°λ
- νλ‘μ νΈ λ±λ‘(entry) μλ² λ° ν΄λΌμ΄μΈνΈ
- μμ νΌ μμ± λ° λ±λ‘ (μ§νμ€)