-
Notifications
You must be signed in to change notification settings - Fork 2
1109(목) 회의록
Minboy edited this page Nov 9, 2023
·
1 revision
- src
- components
- common → 공통적으로 쓰이는 컴포넌트들
- Button
- index.tsx
- styled.ts
- Button
- feature → 특정 페이지 / 요소에서만 쓰이는 컴포넌트들
- common → 공통적으로 쓰이는 컴포넌트들
- pages
- 랜딩 페이지
- 메인 페이지`
- apis
- constants
- store
- styles
- types
- utils
- hooks
- components
- 랜딩 페이지 - 로그인, 회원가입
- 메인 페이지 - 은하
- 화면 전환 페이지
common
- 버튼
- 인풋
- 모달
- 알럿
- 각 데이터의 길이는 추후 수정
- user 테이블

```sql
-- -----------------------------------------------------
-- Table `b1g1`.`user`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `b1g1`.`user` (
`id` INT NOT NULL AUTO_INCREMENT,
`username` VARCHAR(50) NOT NULL UNIQUE,
`password` VARCHAR(100) NOT NULL,
`created_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
`nickname` VARCHAR(50) NOT NULL UNIQUE,
`galaxy_style` JSON NOT NULL,
PRIMARY KEY (`id`),
UNIQUE INDEX `userid_UNIQUE` (`username` ASC) VISIBLE)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8mb4
COLLATE = utf8mb4_0900_ai_ci;
```
- id (identifier)
- username (유저 로그인 ID)
- password (salt + 비밀번호 해시값)
- created_at (계정 생성 일시)
- nickname (닉네임)
- galaxy_style (three.js에서 custom 은하를 그리기 위한 구조체)
- 이후 MongoDB에 데이터 저장 고려
- board 테이블

```sql
-- -----------------------------------------------------
-- Table `b1g1`.`board`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `b1g1`.`board` (
`id` INT NOT NULL AUTO_INCREMENT,
`title` VARCHAR(255) NOT NULL,
`content` TEXT NULL DEFAULT NULL,
`image` BLOB NULL DEFAULT NULL,
`star_style` JSON NOT NULL,
`star_position` POINT NOT NULL,
`author` VARCHAR(50) NOT NULL,
PRIMARY KEY (`id`),
INDEX `userid_idx` (`author` ASC) VISIBLE,
CONSTRAINT `userid`
FOREIGN KEY (`author`)
REFERENCES `b1g1`.`user` (`username`))
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8mb4
COLLATE = utf8mb4_0900_ai_ci;
```
- id (identifier)
- title (게시글 제목)
- content (게시글 내용)
- image (게시글 첨부 이미지 파일)
- star_style (게시글 각각의 별 스타일, 프론트에서 별을 그려줄 때 필요한 데이터)
- 이후 MongoDB에 데이터 저장 고려
- star_position (프론트 우주 상에서의 글의 위치 정보 데이터)
- MySQL에서 지원하는 POINT타입
- 이후 MySQL에서 지원하는 공간 함수 활용을 고려
- author (작성자 id, user 테이블의 id를 외래키로 참조)
- NestJS LifeCycle ⭐️⭐️⭐️⭐️⭐️
- Middleware
- Guard
- Interceptor
- Exception Filter
- NestJS에서 이미지 파일 저장 ⭐️⭐️
- 리사이징
- 확장자 통일
- 관계형 vs NoSQL (어떤 상황에서 어떤 것을 사용하면 좋을 지) ⭐️⭐️
- 데이터베이스 정규화 ⭐️⭐️⭐️
- 데이터베이스 인덱싱 ⭐️⭐️
- 데이터베이스 쿼리 최적화 ⭐️⭐️
- MySQL의 데이터타입들, 함수들 - ex) POINT 타입과 공간 함수들 ⭐️⭐️
- AWS, NCP ⭐️⭐️⭐️⭐️
- NGINX ⭐️⭐️⭐️
- CI/CD - docker, github action ⭐️⭐️⭐️
- 로그 저장 및 모니터링 ⭐️⭐️
- TDD ⭐️⭐️⭐️⭐️
- Test Database Transaction Rollback
© 2023 debussysanjang
- 🐙 [가은] Three.js와의 설레는 첫만남
- 🐙 [가은] JS로 자전과 공전을 구현할 수 있다고?
- ⚽️ [준섭] NestJS 강의 정리본
- 🐧 [동민] R3F Material 간단 정리
- 👾 [재하] 만들면서 배우는 NestJS 기초
- 👾 [재하] GitHub Actions을 이용한 자동 배포
- ⚽️ [준섭] 테스트 코드 작성 이유
- ⚽️ [준섭] TypeScript의 type? interface?
- 🐙 [가은] 우리 팀이 Zustand를 쓰는 이유
- 👾 [재하] NestJS, TDD로 개발하기
- 👾 [재하] AWS와 NCP의 주요 서비스
- 🐰 [백범] Emotion 선택시 고려사항
- 🐧 [동민] Yarn berry로 모노레포 구성하기
- 🐧 [동민] Vite, 왜 쓰는거지?
- ⚽️ [준섭] 동시성 제어
- 👾 [재하] NestJS에 Swagger 적용하기
- 🐙 [가은] 너와의 추억을 우주의 별로 띄울게
- 🐧 [동민] React로 멋진 3D 은하 만들기(feat. R3F)
- ⚽️ [준섭] NGINX 설정
- 👾 [재하] Transaction (트랜잭션)
- 👾 [재하] SSH 보안: Key Forwarding, Tunneling, 포트 변경
- ⚽️ [준섭] MySQL의 검색 - LIKE, FULLTEXT SEARCH(전문검색)
- 👾 [재하] Kubernetes 기초(minikube), docker image 최적화(멀티스테이징)
- 👾 [재하] NestJS, 유닛 테스트 각종 mocking, e2e 테스트 폼데이터 및 파일첨부
- 2주차(화) - git, monorepo, yarn berry, TDD
- 2주차(수) - TDD, e2e 테스트
- 2주차(목) - git merge, TDD
- 2주차(일) - NCP 배포환경 구성, MySQL, nginx, docker, docker-compose
- 3주차(화) - Redis, Multer 파일 업로드, Validation
- 3주차(수) - AES 암복호화, TypeORM Entity Relation
- 3주차(목) - NCP Object Storage, HTTPS, GitHub Actions
- 3주차(토) - Sharp(이미지 최적화)
- 3주차(일) - MongoDB
- 4주차(화) - 플랫폼 종속성 문제 해결(Sharp), 쿼리 최적화
- 4주차(수) - 코드 개선, 트랜잭션 제어
- 4주차(목) - 트랜잭션 제어
- 4주차(일) - docker 이미지 최적화
- 5주차(화) - 어드민 페이지(전체 글, 시스템 정보)
- 5주차(목) - 감정분석 API, e2e 테스트
- 5주차(토) - 유닛 테스트(+ mocking), e2e 테스트(+ 파일 첨부)
- 6주차(화) - ERD
- 2주차(화) - auth, board 모듈 생성 및 테스트 코드 환경 설정
- 2주차(목) - Board, Auth 테스트 코드 작성 및 API 완성
- 3주차(월) - Redis 연결 후 RedisRepository 작성
- 3주차(화) - SignUpUserDto에 ClassValidator 적용
- 3주차(화) - SignIn시 RefreshToken 발급 및 Redis에 저장
- 3주차(화) - 커스텀 AuthGuard 작성
- 3주차(수) - SignOut시 토큰 제거
- 3주차(수) - 깃헙 로그인 구현
- 3주차(토) - OAuth 코드 통합 및 재사용
- 4주차(수) - NestJS + TypeORM으로 MySQL 전문검색 구현
- 4주차(목) - NestJS Interceptor와 로거
- [전체] 10/12(목)
- [전체] 10/15(일)
- [전체] 10/30(월)
- [FE] 11/01(수)~11/03(금)
- [전체] 11/06(월)
- [전체] 11/07(화)
- [전체] 11/09(목)
- [전체] 11/11(토)
- [전체] 11/13(월)
- [BE] 11/14(화)
- [BE] 11/15(수)
- [FE] 11/16(목)
- [FE] 11/19(일)
- [BE] 11/19(일)
- [FE] 11/20(월)
- [BE] 11/20(월)
- [BE] 11/27(월)
- [FE] 12/04(월)
- [BE] 12/04(월)
- [FE] 12/09(금)
- [전체] 12/10(일)
- [FE] 12/11(월)
- [전체] 12/11(월)
- [전체] 12/12(화)