Front-End : TypeScript, React.js, Redux, Redux-saga, SWR
Back-End : TypeScript, Node.js, Express.js, MySQL, Jest
UI / UX : Styled-Components
Deploy : EC2, Cloud Front, S3, Route 53
GITHUB : https://github.com/PilYeooong/your-daily-scheduler
Task Management : https://www.notion.so/YDS-2bd813fb60754fcab2f6b70380561de5
WEBSITE : https://yourdailyscheduler.link/
주요 기능
- 날짜 별 일정 관리 제공
- 특정 날짜에 대한 시간 별 일정 기록, 시간을 정해두지 않아도 되는 일정에 대한 구분
- 날짜에 구애받지 않는 할 일 정리 파트
- 프로필에 설정한 지역에 대한 실시간 날씨 및 코로나 확진자 수 정보
- 모바일 및 데스크탑 반응형
설명
기획
새해를 맞이 하며, 올 한해는 시간을 좀 더 알차게 쓰고 싶은 맘에 직접 만들어 보게 된 일정 관리 사이트 입니다.
할 일 뿐만이 아니라 '매일 같이 찾아보는 정보들을 한 페이지에서 볼 수 있으면 좋지 않을까?' 라는 생각이 들어,
매일 아침마다 찾아보는 날씨 정보와, 요즘 시국에 항상 체크해보는 코로나 확진자 수 정보까지도 담아보았습니다.
개발
✔️ Back-End
- 기능 별 모델 및 API 설계
- cheerio를 활용한 날씨 및 코로나 확진자 수 정보 크롤링
- node-cron을 활용하여 확진자 수 정보 업데이트
- Jest를 활용한 API 유닛, E2E 테스팅
✔️ Front-End
- 전역 state로 활용할 state 대해서는 Redux 및 Redux-saga를 통한 관리
- SWR을 통한 Data fetching
- CSS in JS (styled-components 활용)
- 모바일 및 데스크탑 반응형
✔️ Deploy
- AWS EC2를 사용하여 Backend 서버 배포
- GitHub Action을 통한 Git 커밋 시 소스 코드 빌드 후 배포 자동화 (Frontend)
- Cloud Front + S3를 사용하여 Frontend 정적 호스팅
- Route 53을 통한 도메인 구성 및 연결
- Backend는 LetsEncrypt, Frontend는 Cloud Front, AWS Certificate Manager 활용하여
HTTPS 적용