Skip to content

주니어들의 성장을 도모하는 교육 플랫폼 the pool 의 서버입니다.

Notifications You must be signed in to change notification settings

the-pool/the-pool-api

Repository files navigation

The Pool Api

주니어들의 성장을 도모하는 교육 플랫폼 The Pool 의 서버입니다.



Tech Stack





Directory Structure

├── prisma
│   ├── functions # seed function directory
│   ├── migrations # migrations directory
│   ├── schema.prisma # prisma schema
│   └── seed.ts # db seed
├── scripts # script directory
├── src
│   ├── app.module.ts
│   ├── main.ts # main file
│   ├── common # common directory
│   ├── constants # common constant directory
│   ├── decorators # common decorator directory
│   ├── dtos # common dto directory
│   ├── filters # common filter directory
│   ├── guards # common guard directory
│   ├── helpers # common helper directory
│   ├── interceptors # common interceptor directory
│   ├── middlewares # common middleware directory
│   ├── pipes # common pipe directory
│   ├── types # common type directory
│   ├── modules # feature module directory
│   │   ├── index.ts # module index file
│   │   ├── core # don't have controller module directory
│   │   │   ├── auth # auth module directory
│   │   │   ├── core.module.ts # core module directory
│   │   │   ├── database # database module directory
│   │   │   ├── elastic # elastic stack module directory
│   │   │   ├── http # http module directory
│   │   │   ├── notification # notification module directory
│   │   │   ├── private-storage # private-storage module directory
│   │   │   ├── the-pool-cache # cache module directory
│   │   │   └── the-pool-config # config module directory
│   │   ├── feature
│   │   │   ├── controllers # controller directory
│   │   │   │   ├── member-statistics.controller.spec.ts # controller test file
│   │   │   │   ├── member-statistics.controller.ts # controller file
│   │   │   │   └── member-statistics.swagger.ts # swagger expression file
│   │   │   ├── services
│   │   │   │   ├── member-statistics.service.spec.ts # feature service test file
│   │   │   │   └── member-statistics.service.ts # feature service file
│   │   │   ├── dtos # feature dto directory
│   │   │   ├── entities # feature entity directory
│   │   │   ├── events # feature events directory
│   │   │   ├── listeners #feature listener directory
│   │   │   ├── types # feature type directory
│   │   │   └── feature.module.ts
└── test
    ├── jest-e2e.json # e2e config file
    ├── apis # api e2e test directory
    ├── mock # for testing mock
    └── utils # for testing util function

Infra Architecture


terraform 을 통해 구성합니다.
자세한 내용은 the-pool-infra repository 를 확인해주세요


Commit Convention


gitmoji 를 사용하여 커밋합니다.

아이콘 코드 설명 원문
새 기능 Introduce new features.
♻️ 코드 리펙토링 Refactor code.
🔥 🔥 코드 / 파일 삭제 Remove code or files.
🐛 🐛 버그 수정 & 충돌해결 Fix a bug.
🔀 🔀 브랜치 합병 Merge branches.
테스트 추가 / 수정 Add or update tests.
📝 📝 문서 추가 / 수정 (README, swagger, script) Add or update documentation.

Script


Server Start

# watch mode
$ npm run start:dev

# production mode
$ npm run build
$ npm run start:prod

Test

# unit test
$ npm run test

# watch mode
$ npm run test:watch

# e2e test
$ npm run test:e2e

# test coverage
$ npm run test:cov

Prisma

# model generate
$ npx prisma generate

# .prisma file formatting
$ npx prisma format

# .prisma file validation check
$ npx prisma validate

# migration
$ npx prisma migrate dev --name postgres-init

# db push
$ npx prisma db push

# db seed
$ npx prisma db seed

Swagger

# swagger initialize or formatting
# usage: npm run swagger -- -h
# ex) npm run swagger -- -m "member"
# ex) npm run swagger -- -m "lesson" -c "lesson-hashtag"
$ npm run swagger

Related Projects



Contributors



License


ThePool is MIT licensed.

About

주니어들의 성장을 도모하는 교육 플랫폼 the pool 의 서버입니다.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages