[KUSITMS] 기업프로젝트 회고

seunghyo·2024년 3월 17일
0

KUSITMS

목록 보기
1/1
post-thumbnail

✨2024.02.20~ 03.10✨

깃허브

Kotlin 뉴비 탈출하기

약 3주 정도의 프로젝트가 종료되었다. 기획 2 디자인 1 백엔드 2 프론트 3으로 이루어진 8인 팀으로 진행..
생각보다 대규모 인원으로 첫 프로젝트를 진행해보았다. 개발을 한 것은 약 일주일(체감 상 5일..) 정도 였는데, 기획팀이 와이어프레임 전달, 디자인 작업후 프론트가 작업을 시작하였기 때문에 프론트 팀은 개발을 3월 2일부터(..) 시작했다. 사실 프론트가 굉장히 애매한 포지션인게 apk 가 없으면 결국은 최종 결과물이 없는 거나 마찬가지기에 제일 중요한 포지션이라는 생각이 들었다. (근데 작업은 젤 늦게 시작하는)
이건 프론트엔드 입장에서 생각한 거기에 굉장히 오만한 생각일지도..? 백엔드가 없는 위급한 상황에서는 더미데이터 넣을 수 있다는 대처법이 있긴하다..ㅎㅎㅎ 프론트는 일단 개발 스택을 Kotlin으로 정했다. 하지만 Flutter 외길 몇달차라 ..(코틀린은 몰입캠프에서 찍먹 해본게 전부) 약간 불안했지만 다른 팀원을 믿고 많이 물어보면서 진행했다.
분석결과와 유사모델 페이지에 굉장히 시간을 많이 소요했다.
ViewPager2에 recyclerview를 연결하여 모델들(3명씩)이 자연스럽게 슬라이드되는 페이지에 위치하게 해야했다.
OutputFragment -> GroupedAdapter(Viewpager) -> modelAdapter(recyclerview) 이런 식으로 연결을 했는데, 즉 모델 3명이 하나의 group으로 구성된 형태였다. 기존 api 데이터에 모델 인원이 늘어나도 후에 확장을 고려하여 리팩토링이 쉽도록 하고 싶었다. 예를 들면 현재는 5명까지만 모델정보를 볼수있는데, 후에 인원을 늘려 모델인원이 10명, 12명식으로 늘어나도 후의 코드 수정이 용이하도록..(더 효율적인 방법이 있다면 알아보고 싶다.) 최대한 단순하게 더미데이터를 이용한다기보다 나중에 api 연결할 때 쉽게 하고 싶었다.
예상했듯 api가 늦게 나왔기에 그 과정에서 시간단축을 위해 미리 api 명세서를 보고 더미데이터를 만들어놓았었는데, 결국 시연에서는 더미데이터로 시연을 진행했다. 그 점은 상당히 아쉬웠다. 물론 api 연결을 해놓았었는데, 서버의 데이터가 상당히 빈약했던 것 같다.

<실제 구현 화면>

api 연결(feat. retrofit) 및 세팅 방법

초반 큐토리얼 때 안드로이드 파트 세션을 들으면서 api 키 보안에 신경을 많이 써야한다고 엄청 강조를 받았던 것이 기억이 난다. 그때는 이제 백엔드 측의 엄청난(?) 사건 사고들을 듣고 조금 겁을 먹은 상황이라 api 연결시에도 그런 점들을 신경쓰려고 노력했다.
local properties에 baseurl를 세팅하고, build gradle에서

val properties = Properties()
properties.load(project.rootProject.file("local.properties").inputStream())

val baseurl = properties.getProperty("base_url")

.
.
.

android {
        buildConfigField("String", "API_URL",baseurl)
    }

이렇게 설정을 해주었다.
사용을 할때는

import com.example.soullive.BuildConfig

   private fun getdata() {
        val retrofit = Retrofit.Builder()
            .baseUrl(BuildConfig.API_URL)
            .addConverterFactory(GsonConverterFactory.create())
            .build()

        val apiService = retrofit.create(ApiService::class.java)
...

✨마치며✨

처음으로 기획자, 디자이너와 소통하는 경험이 뜻깊었던 것 같다. 개발용어를 말할때 약간 ??하는 반응을 보고 비개발직군과 회의할때 어떤 식으로 말해야할지 고민도 해보고..반대로 기획에서 쓰는 용어를 공부해보기도 하고 경영it 학회의 장점을 느끼게 되었다. 프로젝트 기간이 짧기도 했기에 아쉬운 점도 물론 있었다. 프론트로서 좀 더 어플을 다듬지 못하고 시연을 진행했던 점, api 연결이 늦어진 점 등이 너무너무 아쉬웠다. 또한 3명이라는 다인원의 프론트엔드로 진행했는데, 서로의 코드를 더 보고 이해하며 리뷰하는 시간을 가지면 어땠을까하는 아쉬움이 든다.
++)
팀원이 코드 이해가 쉽도록 코드를 작성하기
파일 네이밍 신경쓰기

0개의 댓글