Skip to content

Commit 6f96486

Browse files
committed
변경사항 저장
1 parent fbc1c2f commit 6f96486

File tree

4 files changed

+78
-22
lines changed

4 files changed

+78
-22
lines changed

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
## [1.0.2] - 2025-04-16
2+
- 급식 조회 기능 추가
3+
14
## [1.0.1] - 2025-04-16
25
- school 로직 수정
36

README.md

Lines changed: 74 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -4,19 +4,20 @@
44
**Flutter에서 NEIS 교육정보 개방 포털을 간편하게 사용할 수 있도록 도와주는 패키지입니다.**
55
학교 기본 정보, 급식 정보 등을 학교 이름 기반으로 간단하게 조회할 수 있습니다.
66

7+
---
8+
79
## 주요 기능
810

9-
- 학교정보 조회
11+
- 학교 정보 조회
12+
- 급식 정보 조회 (조식 / 중식 / 석식)
13+
- 날짜별 급식 자동 캐싱
14+
- `neis.meal.lunch['YYYYMMDD']` 형태의 선언적 API
1015

11-
## 사용 예시
16+
---
1217

13-
```dart
14-
final neis = Neis(apiKey: 'YOUR_API_KEY');
15-
await neis.loadSchoolInfo('경북소프트웨어마이스터고등학교');
16-
```
18+
## 지원 메서드 및 구조
1719

18-
## 지원 중인 메서드
19-
### loadSchoolInfo
20+
### loadSchoolInfo(String schoolName)
2021

2122
학교 이름으로 학교 정보를 불러옵니다.
2223
교육청 코드(ATPT_OFCDC_SC_CODE)와 학교 코드(SD_SCHUL_CODE)를 자동 저장합니다.
@@ -27,10 +28,40 @@ print(neis.schoolCode);
2728
print(neis.officeCode);
2829
```
2930

30-
## 예시 코드
31+
### neis.meal.lunch["YYYYMMDD"]
32+
33+
날짜별 급식 정보를 간단하게 불러옵니다.
34+
조식(breakfast), 중식(lunch), 석식(dinner) 모두 지원하며 내부적으로 캐싱됩니다.
35+
36+
```dart
37+
final lunch = await neis.meal.lunch['20250420'];
38+
print(lunch?.dishes.join(", "));
39+
```
40+
41+
---
42+
43+
## 사용 예시 (학교 정보 + 오늘의 급식 출력)
44+
3145
```dart
3246
import 'package:flutter/material.dart';
3347
import 'package:flutter_neis/flutter_neis.dart';
48+
import 'package:intl/intl.dart';
49+
50+
void main() {
51+
runApp(const MyApp());
52+
}
53+
54+
class MyApp extends StatelessWidget {
55+
const MyApp({super.key});
56+
57+
@override
58+
Widget build(BuildContext context) {
59+
return const MaterialApp(
60+
home: HomeScreen(),
61+
debugShowCheckedModeBanner: false,
62+
);
63+
}
64+
}
3465
3566
class HomeScreen extends StatefulWidget {
3667
const HomeScreen({super.key});
@@ -41,25 +72,48 @@ class HomeScreen extends StatefulWidget {
4172
4273
class _HomeScreenState extends State<HomeScreen> {
4374
final neis = Neis(apiKey: 'YOUR-API-KEY');
75+
bool _loading = true;
76+
List<String> lunchMenu = [];
4477
4578
@override
4679
void initState() {
4780
super.initState();
48-
neis.loadSchoolInfo('경북소프트웨어마이스터고등학교').then((_) {
49-
setState(() {});
81+
_load();
82+
}
83+
84+
Future<void> _load() async {
85+
await neis.loadSchoolInfo('경북소프트웨어마이스터고등학교');
86+
87+
final today = DateFormat('yyyyMMdd').format(DateTime.now());
88+
final lunch = await neis.meal.lunch[today];
89+
90+
setState(() {
91+
lunchMenu = lunch?.dishes ?? ['중식 정보 없음'];
92+
_loading = false;
5093
});
5194
}
5295
5396
@override
5497
Widget build(BuildContext context) {
55-
return Scaffold(body: Center(child: Text(neis.officeCode)));
98+
return Scaffold(
99+
appBar: AppBar(title: Text(neis.schoolName)),
100+
body: _loading
101+
? const Center(child: CircularProgressIndicator())
102+
: Padding(
103+
padding: const EdgeInsets.all(16),
104+
child: Column(
105+
crossAxisAlignment: CrossAxisAlignment.start,
106+
children: [
107+
const Text(
108+
'🍱 오늘의 중식',
109+
style: TextStyle(fontSize: 20, fontWeight: FontWeight.bold),
110+
),
111+
const SizedBox(height: 12),
112+
...lunchMenu.map((dish) => Text(dish)).toList(),
113+
],
114+
),
115+
),
116+
);
56117
}
57118
}
58-
```
59-
60-
61-
## 설치
62-
63-
```yaml
64-
dependencies:
65-
flutter_neis: ^1.0.0
119+
```

lib/src/neis_client.dart

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import 'services/school/school_service.dart';
21
import 'package:flutter_neis/flutter_neis.dart';
32

43
class NeisClient {

pubspec.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name: flutter_neis
22
description: "Flutter에서 NEIS 교육정보 개방 포털을 쉽게 사용할 수 있게 해주는 패키지입니다."
3-
version: 1.0.1
3+
version: 1.0.2
44

55
homepage: https://github.com/jinhyeon-dev/flutter_neis
66
repository: https://github.com/jinhyeon-dev/flutter_neis

0 commit comments

Comments
 (0)