- 한양공업고등학교의 학년별(과별) 시간표와 그 달의 급식 메뉴, 1년간의 학사 일정을 보여줍니다.
- 한양공업고등학교 홈페이지의 공지사항, 가정통신문을 가져와 보여줍니다.
- 앱에서 [한양공업고등학교 홈페이지 • 한양뉴스 • 코로나맵 • 건강상태 자가진단] 사이트로 바로 이동이 가능합니다.
- 나이스 오픈 API를 이용하여 서버로 데이터를 가져옵니다.
- 셀레니움(Selenium)을 이용하여 한양공업고등학교 홈페이지의 공지사항, 가정통신문 게시글을 크롤링 하여 서버로 데이터를 가져옵니다.
가져온 모든 데이터는 서버에서 가공되고, RESTful API를 이용하여 앱(클라이언트)에서 서버로부터 데이터를 가져온 뒤 사용자에게 보여줍니다.
- 언어 - C#
- 앱 프레임워크 - 자마린 (Xamarin)
- 웹서버 프레임워크 - ASP.NET
- 사용된 패키지
서버에 Chrome 설치
서버에 Selenium Server, Chrome Driver 설치
Selenium Server 파일과 Chrome Driver를 같은 경로에 두고 Selenium Server 실행 [CMD 창 > java -jar {File Name}.jar]
공용 프로젝트 > App.xaml.cs
// 한양이 WebServer API 키 // ex) public const string API_KEY = "IWcusufuaYOcq5t/8tXC+6cJcrF5Y8zjoS915vG47yo="; public const string API_KEY = "{YOUR_API_KEY}"; // 변경 - 서버 키 값과 동일해야함 // 서버 URL // ex) public static string ServerUrl { get; } = "http://3.34.53.147/"; public static string ServerUrl { get; } = "http://{YOUR_SERVER_DOMAIN}/"; // 변경 // Syncfusion 라이선스 키 // ex) Syncfusion.Licensing.SyncfusionLicenseProvider.RegisterLicense("MzIxNDcyQDMxMzgyZTMyMmUzMFBtUlVqRXZOamx0bUYrY0llanFSR09ZbnBHSmpONVcvcDJDM0Y3NGI2am82"); Syncfusion.Licensing.SyncfusionLicenseProvider.RegisterLicense("{YOUR_SYNCFUSION_LICENSE_KEY}"); // Syncfusion 버전에 맞는 라이선스 키 사용
- Syncfusion 라이선스 키 발급 -> Get License Key 클릭
WebServer 프로젝트 > Program.cs
// 한양이 WebServer API 키 // ex) public const string API_KEY = "IWcusufuaYOcq5t/8tXC+6cJcrF5Y8zjoS915vG47yo="; public const string API_KEY = "{YOUR_API_KEY}"; // 변경 - 클라이언트 키 값과 동일해야함 // 나이스 API -> API 키 // ex) private const string NEIS_API_KEY = "KEY=762281280e4943e58669a6b02991a67a&"; private const string NEIS_API_KEY = "KEY={YOUR_NEIS_API_KEY}&"; // 나이스 Open API 사이트에서 발급받은 API 키
- 나이스 API 키 발급 -> 로그인 후 마이페이지 -> 인증키 발급 클릭
WebServer 게시
APK 배포