- 오술 소개 | About Ohsool
- 웹사이트 | Webstie
- 개발기간 | Project Period
- 팀원 | Team
- 개발환경 | Development Enviornment
- 주요 API 기능 | Main API
- 라이브러리 | Library
- 기타 | etc
- 국내에 존재하는 맥주들을 한곳에 모아 개인의 취향을 바탕으로 맥주를 추천해주는 서비스
- 맥주에 대한 평점 및 시음 노트가 포함된 도감을 작성할 수 있으며 다른 유저의 도감도 같이 확인할 수 있다.
https://ohsool.com/ (서버 닫아떠요..😢)
2021.07.23 ~ 2021.09.02
- 이정원
- 문진영
- 윤송
Frontend (React) - Frontend Github
- 원동환
- 장정윤
Design (UI/UX) - Figma WireFrame
- 문지혜
- 이근호
이름 | 구분 |
---|---|
Server | AWS EC2 (Amazon Linux 2 AMI (HVM), 64bit) |
Framework | Express(Node.js) |
개발언어 | Typescript, Javascript |
Database | Atlas (MongoDB) |
CI/CD | AWS CodePipeline, CodeDeploy |
Load Balancer | AWS ALB, Auto Scaling Group |
TDD | Jest |
Storage | AWS S3 |
Tools | VSCode, Git, Github, Slack, Notion |
기술스택 | Appliance | Version |
---|---|---|
Express | Node.JS | 4.17.1 |
Typescript | 전체 코드 타입스크립트 적용 | 5.0.1 |
Mongoose | 변동성 많은 DB. NoSQL 적용 | 5.13.3 |
HTTPS | 웹사이트 데이터 보안화 | |
AWS Codepipeline, CodeDeploy | CI/CD | |
CORS | Request resource 제한 | 2.8.5 |
Swagger | API 문서화 | 4.1.6 |
Prettier | 코드 포맷팅 | 2.3.2 |
Passport | 구글, 카카오 소셜 로그인 | 0.4.1 |
slack/web-api | 맥주 추천, 불편 사항 → 슬랙 | 6.3.0 |
dotenv | 보안 토큰, 키 관련 보안화 | 10.0.0 |
Jest | 테스트코드 작성 | 27.0.6 |
supertest | 테스트코드 작성 | 6.1.4 |
JWT(BEARER) | 사용자 인증, Bearer 토큰 | 8.5.1 |
Joi | 회원 검증과정 | 17.4.1 |
moment | 시간 일관화 | 2.29.1 |
winston | 서버 log 저장 | 3.3.3 |
helmet | HTTPS 헤더 보안 세팅 | 4.6.0 |
korean-regexp | 맥주 이름 검색시 한국어 정규식 | 1.0.9 |
bcrypt | 비밀번호 암호화 | 5.0.1 |
compression | 값 전달시 압축 | 1.7.4 |
nodemailer | 사용자에게 메일 전달 | 6.6.3 |
- 테스트 기반으로 사용자의 맥주 취향 보여주기
- 각자 다른 맥주 취향을 가진 사용자들이 남긴 평점을 맥주 종류 별로 평균을 내어
타 사용자의 취향에 맞는 맥주 추천하기 - 맥주 판매처 제보하기
- 맥주 및 해시태그 검색하기
- 비밀번호 변경 시 임시 비밀번호 생성
- 회원가입 및 건의사항 제출 시 이메일 발송
- JWT Refreshtoken 적용
- secretKey를 이용하여 프런트 도메인외 다른 유저가 api url에 접근하지 못하도록 설정
- 웹 서버 환경에서 Jest 테스트 코드 구동 시 발생하는 timeout 오류
- 타입스크립트 자료형을 이용한 API 인터페이스
Git Commit Message Rule
- feat : 새로운 기능에 대한 커밋
- fix : 버그 수정에 대한 커밋
- build : 빌드 관련 파일 수정에 대한 커밋
- chore : 그 외 자잘한 수정에 대한 커밋
- ci : CI관련 설정 수정에 대한 커밋
- cd : CD관련 설정 수정에 대한 커밋
- docs : 문서 수정에 대한 커밋
- style : 코드 스타일 혹은 포맷 등에 관 한 커밋
- refactor : 코드 리팩토링에 대한 커밋
- test : 테스트 코드 수정에 대한 커밋