프로젝트 시작 과정
취준을 하면서 백준으로 알고리즘 문제풀이를 하고 있는 도중에 내가 푼 문제들 그리고 나의 티어를 아이폰으로 확인해보고 싶었다.
아이폰으로 나의 알고리즘 풀이 현황과 그것을 위젯으로 표현하고, 알고리즘 풀이에 좀 더 재밌고 동기부여 될 수 있는 앱을 만들어보는 건 어떨까? 하는 생각에서 프로젝트를 시작하게 되었다.
시장 조사(?)
궁금해서 앱스토어를 검색해 봤다. 1개의 앱이 있었지만 위젯기능이 없었고, 무엇보다 내가 앱을 만들어보고 싶었는데 마침 내가 생각한 기능이 있는 앱이 1개밖에 없었기 때문에 충분히 앱으로 만들어 볼 만하다!라는 생각을 가지게 되었다.
어떻게 하면 유저정보를 가져올 수 있을까?
어떻게 하면 나의 유저정보를 가져올 수 있을까? 하는 생각에 백준 API나 Solved.ac API를 찾아보았는데, Solved.ac API는 존재했다! 🎉 아래와 같은 API가 문서화되어있는 사이트까지 친절하게 있었다. 충분히 이 문서를 참고하여 앱을 개발하면 될 것 같다는 생각이 들었다.
API 사용가능 여부
하지만 위의 API를 사용하여 앱을 개발하고 배포해도 되는지에 대한 의문이 생겼다. (보통 API를 사용하려면 돈을 내야 하는데...) 물론 위의 API를 활용한 많은 사이드 프로젝트를 발견하긴 했지만 개발 초짜인 나에게는 앱을 함부로 만들어도 될까..?라는 어느 정도 걱정이 앞섰다.
그래서 문서에 나와있는 RanolP라는 분께 메일로 문의드려 보았다. (이분이 API를 관리하시는 분은 아니시고 문서화를 해주신 분이다.)
답변은 많은 사이드 프로젝트들이 있고, 심지어 shiftpsh(박수현) 님께서도 서드 파티 개발 생태계에 친화적인 태도를 보이시고, 개발에 도움도 많이 주신다고 해서 우선 과도한 호출이나 보안 취약점을 찾아내 악용하는 게 아니라면 큰 문제가 없어 보인다는 답변을 받아 프로젝트를 시작하게 되었다.
개발 목표
이 앱을 개발하게 된 계기는 내가 쓰고 싶어서, 앱을 직접 만들면서 공부하고 싶어서... 이 두 가지 이유가 가장 크다. 따라서 내가 앱을 쓰면서 무슨 기능이 필요할까? 그리고 앱을 개발하면서 어떠한 것을 공부할 수 있을까? 고민해 보았다.
앱 MVP
1. 아이디를 입력하게 되면 나의 정보를 한눈에 확인 가능
2. 위젯으로 나의 정보를 간편하게 확인 가능
개인적인 목표
1. API와 그것에 따라오는 여러가지 개념들 공부
2. 앱 아키텍처 설계와 디자인 패턴 공부 및 적용
3. 앱 개발과정 문서화 및 정리
이렇게 프로젝트를 블로그에 남기는 것은 처음이라 어색하지만 꾸준하게 남겨보겠다.
'→ Solver' 카테고리의 다른 글
[Project-Solver] 프로젝트 1차 배포 (v1.0.1) (0) | 2024.05.01 |
---|---|
[Project-Solver] SwiftData 문제 기록 (0) | 2024.04.25 |
[Project-Solver] 앱 기본 설계 (2) | 2024.04.22 |
[Project-Solver] 아키텍처 설계 (0) | 2024.04.21 |
[Project-Solver] 프로젝트 기본 세팅 (1) | 2024.04.19 |