Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/example-collection/nestjs-typeorm-example
https://github.com/example-collection/nestjs-typeorm-example
nestjs nestjs-typeorm typeorm
Last synced: about 3 hours ago
JSON representation
- Host: GitHub
- URL: https://github.com/example-collection/nestjs-typeorm-example
- Owner: Example-Collection
- License: mit
- Created: 2021-01-29T09:27:13.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2024-02-15T13:08:38.000Z (11 months ago)
- Last Synced: 2024-02-15T14:28:49.796Z (11 months ago)
- Topics: nestjs, nestjs-typeorm, typeorm
- Language: TypeScript
- Size: 1.41 MB
- Stars: 13
- Watchers: 1
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: readme.md
- License: LICENSE
Awesome Lists containing this project
README
NestJS Example
프로젝트 설명
- 이 프로젝트는 NestJS를 이용해 기본적인 CRUD를 수행하는 예시입니다.
- 기술 스택 : TypeScript + NestJS + TypeORM
- 개발하며 정리한 글들 : 링크
기능 설명
- 간단한 게시판 API를 구현할 것이다.
사실상 모든 CRUD는 게시판의 연장선이라고 생각하기 때문이다.
우선 테이블 구조는 아래와 같다.- 또한 JWT를 이용해서 간단한 인증 절차 및 middleware를 적용할 것이다.
- 사용자(`users`) 테이블은 아래의 컬럼들을 가진다.
- user_id (INTEGER, PK)
- name (VARCHAR(200), NOT NULL)
- email (VARCHAR(200), NOT NULL, UNIQUE)
- password (VARCHAR(1000), NOT NULL)- 게시판(`boards`) 테이블은 아래의 컬럼들을 갖는다.
- board_id (INTEGER, PK)
- title (VARCHAR(400), NOT NULL)
- content (VARCHAR(1000), NOT NULL)
- created_at (DATETIME, NOT NULL)
- last_modified_at (DATETIME, NOT NULL)- 구현할 API 들은 아래와 같다.
- [x] 회원 등록 : `[POST] /user`
- [x] 회원 정보 수정 : `[PUT] /user/{userId}`
- [x] 회원 정보 조회 : `[GET] /user/{userId}`
- [x] 회원 정보 삭제 : `[DELETE] /user/{userId}`
- [x] 글 등록 : `[POST] /user/board/{userId}`
- [x] 글 수정 : `[PATCH] /user/board/{userId}/{boardId}`
- [x] 글 삭제 : `[DELETE] /user/board/{userId}/{boardId}`
- [x] 특정 글 조회 : `[GET] /board/{boardId}`
- [x] 글 조회 : `[GET] /board?page=number&size=number`