내가 작업한 레포 : 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 : 테스트 진행 시 데이터베이스 초기화 설정