1️⃣ 개요
현재 대학교 4학년인 만큼 졸업을 하기 위해선 '캡스톤 디자인'을 해야 한다.
이에 나는 4인 1팀을 꾸려 Flutter 와 Firebase, Spring 을 활용한 학교 시설 예약 관리 앱 (서비스) 제작을 주제로 선정했다.
그 중 나의 역할은 팀장 및 백엔드를 맡았다.
2️⃣ Why ?
우리 학교엔 도서관 내 스터디 룸, 개방형 학습 공간, 학생 쉼터, 이외 체육 공간 등 다양한 편의 시설이 존재한다.
물론 축구장, 체육관, 스터디 룸 등은 이미 학교 웹사이트를 통해 예약하여 사용할 수 있는 시스템이 마련되어있다.
그러나 일부 시설의 경우 온라인으로 예약할 수 있는 시스템이 없어 직접 가서 수기로 명단을 작성해야 한다.
만약 학교 내 편의 시설을 모아 한번에 예약할 수 있는 애플리케이션이 있다면 정말 편할 것 같다는 생각을 했다.이에 기존 예약 시스템이 있는 공간을 제외한 몇몇 시설에 대한 예약 앱을 제작하기로 결정하였다.
2️⃣ How ?
사실 나를 포함하여 같은 팀원들은 개발 경험이 거의 없다. 없다고 봐도 무방하다.
그래서 프로젝트를 시작하기 전, 많은 정보를 찾아보며 프로젝트 제작의 전체적인 흐름, 관리 방법 등을 공부했다.
인원이 4명이었기에 2명은 프론트 엔드 , 2명은 백 엔드를 담당하였다.
당시에 Spring, JPA 등 백엔드 관련 기술들을 공부중이었기에 빨리 적용해보고 싶었다.
우리는 앱을 제작하기에 앞서 플랫폼을 정해야 했고, 욕심이 생겨 Android 와 IOS 모두 도전하기로 했다.
따라서 Native 앱보다 크로스 플랫폼 앱을 만들기로 하였다.
찾아보니 해당 프레임워크로는 대표적으로 React Native, Flutter가 있었다.
이에 프론트단은 Flutter, 백단은 Firebase 와 Spring 을 사용해보려 한다.
데이터베이스나 기타 인프라는 아직 정하지 않았다. 사실 배포까지 할 수 있을지 모르기 때문에.
3️⃣ What?
현재까지 진행 상황 다음과 같다.
거의 시작 단계라고 봐도 무방하다.
1. 문제 상황 분석 및 필요 기능
2. 메뉴 구조 설계
앱의 기본 흐름은 다음과 같다.
4️⃣ 마무리
솔직히 말하면 시간이 약 한 달 정도밖에 남지 않았다.
또한 프로젝트를 완성하기 위해 필요한 기술들도 완벽하게 공부된 상태도 아니다.
나는 이번 프로젝트를 통해 배울 수 있는 것은 두 가지라고 생각한다.
1. 개발 프로젝트를 진행하는 흐름과 협업 방법
2. 프로젝트에 사용되는 기술들
물론 완벽하게 결과물이 나오면 좋겠지만, 그렇다는 보장이 없으니 나는 프로젝트 경험을 쌓았다 생각하고 열심히 공부해서 해당 내용들을 내 것으로 만들기 위해 노력해야겠다. 화이팅이요.