Skip to content

Commit 991d8f4

Browse files
authored
Add README for GOMS Android V3 application
This README introduces the GOMS Android V3 application, detailing its purpose, problems it addresses, solutions, key features, architecture, tech stack, and unique aspects of the project.
1 parent 640d66c commit 991d8f4

1 file changed

Lines changed: 138 additions & 0 deletions

File tree

‎README.md‎

Lines changed: 138 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,138 @@
1+
# GOMS Android V3
2+
3+
<img width="2558" height="1495" alt="image" src="https://github.com/user-attachments/assets/3f9959a8-0555-47f9-81d2-b4b57b28a836" />
4+
5+
---
6+
7+
# 🤔 GOMS?
8+
9+
**GOMS**는 __광주소프트웨어마이스터고등학교__ Haribo가 개발한 Flutter 기반 애플리케이션으로,
10+
월요일과 수요일에 시행되는 외출제를 **보다 효율적이고 체계적으로 관리하기 위해 제작되었습니다.**
11+
12+
기존 수기 기반 관리 방식에서 발생하던 비효율적인 프로세스를 개선하고,
13+
외출 현황을 실시간으로 관리할 수 있는 시스템을 구축하는 것을 목표로 합니다.
14+
15+
---
16+
17+
## Preview
18+
19+
20+
---
21+
22+
## 🎯 Problem
23+
24+
기존 외출제 운영 과정에서는 다음과 같은 문제가 존재했습니다.
25+
26+
- 학생회가 외출 학생을 수기로 직접 기록해야 하는 구조
27+
- 지각 및 미복귀 학생을 즉시 파악하기 어려운 환경
28+
- 데이터가 체계적으로 관리되지 않아 운영 효율성이 낮은 문제
29+
30+
---
31+
32+
## 💡 Solution
33+
34+
GOMS는 위 문제를 해결하기 위해 다음과 같은 방식으로 설계되었습니다.
35+
36+
- 외출 상태를 실시간으로 **조회할 수 있도록 시스템화**
37+
- 지각 및 미복귀 학생을 **자동으로 식별하는 구조 설계**
38+
- QR 기반 인증 시스템을 도입하여 **출입 관리 정확도 향상**
39+
- 지도 기반 기능을 통해 외출 **시간 활용도를 높이는 사용자 경험 제공**
40+
41+
---
42+
43+
## ✨ Key Features
44+
45+
- 실시간 외출 현황 조회 기능
46+
- 지각 학생 TOP 3 자동 집계 기능
47+
- 7시 30분 기준 미복귀 학생 자동 블랙리스트 등록
48+
- QR 코드 생성 및 스캔 기능
49+
- 학생 검색 및 권한 관리 기능
50+
- 유효하지 않은 QR 코드 차단
51+
- 외출제 상태 푸시 알림
52+
- Kakao Maps SDK 기반 주변 장소 탐색 및 경로 안내
53+
54+
---
55+
56+
## Architecture
57+
58+
- Riverpod 기반 상태 관리
59+
`flutter_riverpod`와 `state_notifier`를 활용해 View와 비즈니스 로직을 분리하여 유지보수성과 확장성을 확보
60+
61+
- 모듈화된 프로젝트 구조
62+
디자인 시스템을 `packages/goms_design_system` 내부 패키지로 분리하여 UI 일관성과 재사용성을 확보하고, 기능 단위로 코드를 구성
63+
64+
- 코드 생성 기반 개발
65+
`freezed`, `json_serializable`, `retrofit_generator`를 활용해 모델과 API 통신 코드의 보일러플레이트를 최소화
66+
67+
---
68+
69+
## 🛠 Tech Stack
70+
71+
### Flutter
72+
- Flutter / Dart
73+
- FVM (Flutter Version Management)
74+
75+
### State Management
76+
- Riverpod (flutter_riverpod)
77+
- state_notifier
78+
79+
### Routing
80+
- go_router
81+
82+
### Networking
83+
- Dio
84+
- Retrofit
85+
86+
### Code Generation
87+
- Freezed
88+
- json_serializable
89+
- build_runner
90+
91+
### Location
92+
- Kakao Maps SDK (kakao_map_sdk)
93+
- Geolocator
94+
95+
### UI
96+
- 내부 디자인 시스템 패키지 (goms_design_system)
97+
- flutter_screenutil
98+
- flutter_svg
99+
- responsive_framework
100+
- image_fade
101+
- Custom Fonts: SUIT, GmarketSans
102+
103+
### Storage
104+
- flutter_secure_storage
105+
- shared_preferences
106+
107+
### Push Notification
108+
- Firebase Core
109+
- Firebase Messaging
110+
111+
### QR
112+
- mobile_scanner (스캔)
113+
- qr_flutter (생성)
114+
115+
### Environment
116+
- flutter_dotenv
117+
118+
### Others
119+
- permission_handler
120+
- device_info_plus
121+
- image_picker
122+
- table_calendar
123+
124+
---
125+
126+
## What Makes This Project Different
127+
128+
- 단순 기능 구현이 아닌 실제 사용자 환경에서 발생한 문제를 기반으로 설계된 서비스
129+
- 내부 디자인 시스템 패키지(goms_design_system)를 통한 UI 일관성과 재사용성 확보
130+
- Kakao Maps SDK를 활용한 위치 기반 기능 확장
131+
- 실제 학교 환경에서 사용 가능한 수준의 서비스 완성도
132+
133+
---
134+
135+
## Summary
136+
137+
수기 기반 외출제 관리 방식을 데이터 기반 시스템으로 전환하여
138+
운영 효율성과 사용자 경험을 동시에 개선한 Flutter 애플리케이션

0 commit comments

Comments
 (0)