블루투스 전자 출결 시스템, SPOT

정현·2025년 7월 1일
12
post-thumbnail

시작

프론트 트랙에서 앱 프로그래밍(플러터) 수업을 듣던 중 1학기를 마무리 하는 1인 프로젝트 수행평가를 해야했다
일단 프로젝트의 조건은 플러터 사용, native 기능을 사용해야했다
그 시간 안에 계획서를 제출해야해서 열심히 아이디어를 생각하다가 출석부가 눈에 드렁왔다

기술이 발전했지만 뭔가 구시대적인 느낌이 나는 출석부를 보고 전자출석부를 여러가지 알아보기 시작했다



탐색

일단 전자 출결 시스템은 찾아보니 꽤나 많은 프로젝트, 서비스들이 있었다
그리고 native 기능을 활용해야 했으니 뭘 해볼까 생각하다가 일부 대학교들의 블루투스 출석 체크가 눈에 들어왔다

이후 블루투스 전자 출결 시스템 관련 프로젝트, 서비스들을 찾아보았고 문제점을 조금 발견했다
어떤 서비스는 IOT 태그만을 사용해야 하는 것도 있고, 어떤 프로젝트는 학생들이 눌러서 블루투스를 현재 강의실에 있는지 판단하는 용도로 쓰는 경우도 있었다

그렇게 블루투스 전자 출결 시스템이라는 아이디어를 사용하기로 결정했다

native 기능을 활용해야 하는 내 입장에서 굉장히 좋은 프로젝트인 것 같다



구체화

이제 아이디어를 구체화해보자

일단 우리 학교에서만 쓴다고 가정하고 구상해보았다
핵심 아이디어는 이렇다
학생들은 앱에 들어와 자신의 이름으로 기기와 계정을 연동한다
그리고 선생님들은 이후에 각 교시마다 출석 체크를 실시하면 해당 기기가 블루투스로 연결이 되는지의 여부를 판단하여 현재 교실에 있는지 확인한다
사실 이게 되는지는 잘 모르겠긴 한데 이론상 가능할 것 같아서 진행했다

이후 출석 외에 미인정 결석, 인정 결석, 이석, 조퇴, 지각 같은 부분들을 선생님이 바꿔두시면 전자출석부가 왼성된다

추가적인 기능으로는
조퇴증, 이석증을 선생님께 요청, 출석 기록들을 CSV 파일로 저장, 출석 스트릭, 이석 현황 등이 있겠다



개발

개발 시간이 부족해요

사실 수행이다보니 개발 시간이 그리 넉넉하지 않았다
애초에 이 수행은 이런 프로젝트보단 훨씬 가벼운 프로젝트가 알맞다

그래서 아이디어를 더 간단한거로 바꿀까도 생각해보았지만 아이디어가 딱히 더 떠오르지 않아서 그대로 가기로 했다

디자인

이 시기에 수행 평가가 워낙 많았어서 틈틈이 시간 날때마다 디자인을 했다
초반에는 마음에 안 들어서 갈아엎는 경우가 많았는데 시간이 지날수록 그냥 쓰기로 한 디자인들이 많아졌다

결국 디자인은 적당하게 완성 되었고, 막 마음에 들지는 않지만 적당히 괜찮게 나온 것 같다





비상

기말과 수행과 각종 대회 프로젝트의 환상적인 콜라보로 마감 시간이 굉장히 촉박했다
그래서 급하게 주말과 하루의 자습 시간을 활용하여 적당하게 완성했다

플러터로 프로젝트 제작이 처음이라 퍼블리싱 단계부터 문제가 참 많았어서 결국 바이브 코딩과 함께 프로젝트를 제출하기로 했다

블루투스 기능 테스트를 위해 본래 편의를 위해 chrome으로 실행하다가 macOS에서 실행을 하려고 시도했는데 계속 정체 불명의 에러가 떴다
빌드도 똑바로 안되고 정말 플러터가 미웠다

결국 어쩔 수 없이 블루투스 기능은 된다고 가정하고 시연 영상을 찍었다

비율과 디자인이 꽤 달라진 점이 있지만 그래도 플러터 첫 프로젝트라 나름 괜찮다고 생각한다



정리

앞으로 플러터를 쓰게 된다면 코드를 완벽하게 이해하면서 짜보고 싶긴하다
워낙 코드 스타일이 다르다고 느껴져서 나는 아직은 좀 어색한 것 같다

이 아이디어는 나쁘지 않다고 생각해서 추후에 리액트 네이티브로 만들어 볼 생각도 있다
아무튼 잘 끝난 플러터 1학기 수행평가였다!







여담이지만 dart 언어 표시 색이 참 예쁜 것 같다

profile
노력으로 재능을 이길 수 없다면, 노력으로 재능을 만드는 개발자 서정현입니다

2개의 댓글

comment-user-thumbnail
2025년 7월 15일

데스크탑 앱을 쓰면 맥북으로도 블루투스 페어링이 되나요?

1개의 답글