영화관 CGV, Lotte Cinema, MegaBox의 시간표와 남은 좌석 수를 보여줍니다.
- 메인, 로고 - 메인 화면으로 이동합니다.
- 영화 목록 - 화면에 보이는 것 뿐이 아닌 현재 상영 중인 최근 개봉작들을 모두 보여줍니다.
- 영화관 목록 - 영화관 별 시간표를 확인할 수 있습니다.
- 시간표 목록 - 영화 테마, 감독, 배우 검색 및 영화관 검색이 가능합니다.
프론트와 백엔드의 상세 설명은 내부에 따로 존재합니다.
- http로 접속시 nginx가 https로 리다이렉트 시킵니다.
- https로 접속 했다면 nginx가 location을 통해 /api 요청인지 프론트 요청인지를 판별합니다.
- location /라면 localhost:3001으로 proxyt pass를 해줍니다.
- location /api 라면 localhost:8081으로 proxy pass를 해줍니다.
- GitHub main push 시 Git Action으로 GitLab에 push를 동일하게 날립니다.
- GitLab main에 push 가 들어올 경우 Jenkins에 push가 왔다는 알림을 보냅니다.
- Jenkins 에서 spring build와 node build를 실행 합니다.
- build된 백 엔드 서버는 docker file을 읽어 docker로 실행합니다.
- 프론트 서버의 경우 build가 되면 nodemon이 걸려 있는 폴더로 이동합니다.
- nodemon이 프론트의 변경점을 확인하고 반영 해줍니다.
Nas : DS220+
OS: DSM 7.1.1
nginx:1.9.15 - alpine
node: 16.20.0
jenkins:jdk17
redis
mariaDB 10
Spring-Boot: 3.0.1
jdk: 17
Kotlin: 1.7.22
Jsoup:1.15.4
querydsl:5.0.0:jakerta
coroutine:1.7.1
Npm: 16.20.0
React
Typescript
Jwt관리 용 Redis
일반적인 정보 저장 용 MariaDB
MovieThree 제작(https://hdobby.tistory.com/118)


