adonis 구조

flobeeee·2021년 7월 16일
0

Today I Learned

목록 보기
14/35
post-thumbnail

내가 작업한 레포 : adonis

app 폴더

/app/Controllers/Http
AuthController.ts 인증 관련 서비스 로직 구현
UserController.ts 유저 CURD 관련 서비스 로직 구현

/app/Exceptions
BadRequesrException.ts 서비스 로직에서 400 예외처리
Handler.ts 전역적으로 예외처리 가능
NoContentException.ts 204 예외처리
UnAuthorizedException.ts 401 예외처리

ex. throw new BadRequest('special characters', 400)

app/Listeners
User.ts 유저 생성하면 메일 보내는 이벤트 로직 구현

app/Mailers
WelcomeEmail.ts 메일 보낼 때 보내는이 받는이 제목 설정

app/Middleware
Auth.ts /login path 로 들어오는 요청은 모두 인증 미들웨어 적용
LogRequest.ts 어떤 method, url 로 들어오는지 로그 찍는 미들웨어
SilentAuth.ts 유저의 로그인 유무 확인 후, 로그인 시 request 상세정보 제공하는 미들웨어

app/Models
Alarm.ts Alarm 모델 정의 (서비스 로직에서 데이터베이스 접근 목적)
User.ts User 모델 정의

app/Validators
AuthValidator.ts 인증 관련 서비스 로직에서 인수 유효성 검사
UserValidator.ts 유저 CURD 서비스 로직에서 인수 유효성 검사

build 폴더 // 배포를 위한 build 폴더

commands 폴더

config 폴더

config/app.ts
config/auth.ts 토큰 제공자 설정
config/bodyparser.ts 파일 업로드 or 직접 업로드 설정 가능
config/cors.ts cors 설정
config/database.ts DB 설정
config/hash.ts
config/mail.ts mailgun 설정

contracts 폴더

contracts/auth.ts
contracts/env.ts
contracts/event.ts event 에서 인수 type 설정
contracts/hash.ts
contracts/mail.ts

database 폴더

database/factories
index.ts 다량으로 생성할 시드 데이터 설정

database/migrations
..._users.ts 유저 테이블 스키마
..._api_tokens.ts 토큰 저장될 테이블 스키마
..._alarms.ts 알람 테이블 스키마

database/seeders
User.ts 시드 고정 데이터 설정, 시드 수 설정

node_modules 폴더

providers 폴더

resources 폴더

resources/views/emails
welcome.edge 메일 내용 템플릿

start 폴더

start/events.ts 이벤트 라우팅
start/kernel.ts 미들웨어 등록
start/routes.ts API 라우팅

test 폴더

test/authController.spec.ts 인증관련 서비스 로직 테스트
test/userController.spec.ts 유저 CURD 서비스 로직 테스트

tma/uploads 폴더 : 사진 등록시 저장되는 위치

japaFile.ts : 테스트 진행 시 데이터베이스 초기화 설정

profile
기록하는 백엔드 개발자

0개의 댓글