Team_Mate 5

NodeJS 로그아웃 기능 구현

기능 순서 사용자가 로그인을 하면 Token 테이블에 Token을 저장한다만약 이전에 로그인 했었던 기록이 있다면 해당 행(Row) 는 삭제하며 새로운 Token으로 행을 추가한다 사용자가 보내는 모든 요청에는 토큰을 검증하는 미들웨어로 올바른 토큰인지 ( 인증 / 인가 ) 확인사용자가 로그인 이후 1시간이 지나 토큰이 만료 되었다면 미들웨어에서 특정 행을 삭제하여 새롭게 로그인을 하도록 유도 로그아웃 시에는 토큰을 저장했었던 행을 삭제하여서 사용자가 특정 토큰으로 서버에 요청을 보낼 수 없도록 수정 예외토큰이 없는 상태로 요청을 보낸다면 ? [ OK ]토큰이 있지만 해당 토큰이 토큰 테이블에 없다면 ? [ OK ]토큰이 있고 토큰이 테이블에도 있지만 만료 되었다면 ? [ OK ]두 명의 사용자가 하나의..

Team_Mate/Backend 2024.12.20

NodeJS 회원가입 기능 구현

테이블 정의 및 데이터베이스 설계## 사용자 관리 테이블 설정- [x] **사용자 테이블 (Users)**: 사용자의 기본 정보와 계정 관리를 위한 테이블을 생성합니다. - `id`, `email`, `password`, `username`, `profile`, `bio`, `role`, `created_at`, `updated_at` 필드 추가import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn } from 'typeorm';export interface UserModel { id: number; username: string; email: string; password: string; bio: ..

Team_Mate/Backend 2024.12.20

DBdiagram.io 데이터베이스 ERD 툴

https://dbdiagram.io/homeDBdiagram.io를 선택한 이유웹 애플리케이션을 개발하면서 데이터베이스 설계는 중요한 과정 중 하나인데 특히 프로젝트 규모가 커지고, 여러 사람과 협업을 해야 할 때, 데이터베이스 설계를 명확히 하고 팀원들과 그 내용을 공유하는 것이 필수적임 이 때, DBdiagram.io와 같은 도구가 있다는 것을 알게 되어서 이번 프로젝트에선 해당 도구를 사용하기로 결정함 1. 시각화로 명확한 설계 제공첫 번째 이유는 DBdiagram.io가 제공하는 시각적 설계 덕분임. 데이터베이스 테이블과 관계를 다이어그램 형식으로 시각화하는 것은 설계를 직관적으로 이해하는 데 큰 도움이 됨. SQL 쿼리나 텍스트 기반 ERD(Entity-Relationship Diagram)만..

Team_Mate/Scheme 2024.12.19

백엔드 작업 순서

대략적인 작업 순서 [ 백엔드 ]## 백엔드 구현 순서- [ ] **기본 환경 설정** - 프로젝트 초기화 (NestJS 설정, 필요한 라이브러리 설치) - 데이터베이스 설계 (예: PostgreSQL, MongoDB 등) - [] 사용자 테이블 - 게시글 테이블 - 댓글 테이블 - 태그 테이블- [ ] **사용자 관리 기능** - [ ] 회원 가입/로그인 API: 이메일 인증, JWT를 이용한 세션 관리 - [ ] 프로필 관리 API: 사용자 정보 수정, 비밀번호 변경 - [ ] 소셜 로그인 API: OAuth2 (Google, GitHub 등)- [ ] **콘텐츠 관리 (글 작성 및 수정)** - [ ] 글 작성/편집 API: 글의 제목, 본문, 태그, 카테고리 등 저..

Team_Mate/Scheme 2024.12.19