React
TypeScript
Axios
Emotion
shadcn/ui
framer-motion
Redix UI
Zustand
tanstack-Query
MSW
Java 17
Spring Boot
MariaDB
Gradle
JPA
Redis
ElasticSearch
Spring Security
Spring Batch
OAuth2 Client
JWT (JSON Web Token)
AWS (Amazon Web Services)
JUnit & Mockito
Vercel
Github Actions
AWS CodeDeploy
AWS EC2
AWS S3
Visual Studio Code
IntelliJ
Postman
Swagger
Slack
Notion
Discord
React
컴포넌트 기반으로 빠르고 효율적인 UI 개발을 위해 React를 선택했습니다. 이를 통해 코드 재사용성을 높이고 유지보수를 쉽게 할 수 있었습니다.
TypeScript
코드의 안전성을 높이기 위해 TS를 도입했습니다. 타입 검사를 통해 버그를 사전에 방지하고, 협업 시 더 명확한 코드 작성이 가능했습니다.
Axios
API 통신을 원활하게 하기 위해 Axios를 사용했습니다. 비동기 요청 관리가 쉬워지고, 응답을 구조화하는 데 도움이 되었습니다.
Emotion
CSS-in-JS 라이브러리인 Emotion을 사용해 스타일을 컴포넌트 단위로 관리할 수 있게 해주었습니다. 이를 통해 디자인을 더 직관적으로 관리하고, 스타일링의 유지보수를 쉽게 할 수 있었습니다.
<aside>
PascalCase
를 사용해서 작명했습니다.
</aside>shadcn/ui (+Radix UI)
shadcn/ui를 통해 UI 컴포넌트를 효율적으로 관리하고 커스터마이징할 수 있었습니다. 이를 활용해 프로젝트의 일관된 디자인을 유지하면서도 유연하게 확장할 수 있었습니다.
Framer Motion
UI에 자연스러운 애니메이션 효과를 주기 위해 Framer Motion을 도입했습니다. 사용자 경험을 개선하고, 인터랙션을 강화하는 데 중요한 역할을 했습니다.
<aside>
Zustand
상태 관리를 위해 Zustand를 도입해서 전역 스토어를 구성했습니다. 각 기능별로 상태를 독립적으로 관리할 수 있는 주요 스토어들은 다음과 같이 사용되었습니다.
<aside>
</aside>