UOFT 시간표 생성기
설명
UOFT 시간표 생성기는 모든 UOFT 학생들을위한 최고의 대학 시간표를 만드는 것을 목표로합니다. 가장 정확한 유전자 알고리즘이 장착 된이 제품은 최신 클래스의 최대 시간 설정 또는 클래스 간의 도보 거리가 가장 작은 것과 같은 사용자의 선호도를 기반으로 최고의 시간표를 만들 수 있습니다.
UOFT 시간표 생성기 프로젝트는 전체 스택 웹 개발 프로젝트입니다. 웹 스크레이퍼, SQL 데이터베이스 수립 구조, 데이터 모델, 시간표 생성기 라이브러리, 유전자 알고리즘 분석기, C# Web API 및 Angular JS Front End Web Application의 여러 구성 요소로 구성됩니다.
목차
이 프로젝트의 연습
이 프로젝트는 여러 구성 요소로 구성되며, 각 구성 요소는 각각 최고의 시간표를 얻기 위해 특정 작업을 수행하는 책임이 있습니다. 아래 이미지는 프로젝트의 시스템 아키텍처를 보여줍니다.
사용자는 프론트 엔드 웹 응용 프로그램을 사용하여 시간표를 생성합니다. 홈페이지에서는 먼저 그들이 수강 할 과정을 지정해야합니다.
검색 바에서 코스 코드의 처음 세 글자를 입력하면 관련된 사용 가능한 과정이 표시됩니다.
코스를 선택한 후 "시간표 생성"버튼을 클릭하십시오. 그런 다음 서버를 호출하여 시간표를 생성하고 시간표 페이지로 이동합니다. 생성 된 시간표는 아래 이미지와 같은 아이콘으로 표시됩니다.
또한 사용자는 제한 및 선호도를 지정하여 시간표를 자신의 요구에 맞게 조정할 수 있습니다. 페이지 상단의 기본 설정 또는 제한 버튼을 클릭하여 수행됩니다. 기본 설정/제한 패널이 나타나서 사용자가 가진 옵션이 나타납니다. 새로운 제한/환경 설정을 적용하면 시간표가 재생됩니다.
사용자는 생성 된 시간표 중 하나를 클릭하여 좋아하는 시간표를보고 인쇄 및 북마크 할 수 있습니다.
설치
필요한 프로그램 및 도구 :
- 머신의 MS SQL Server (선택 사항 : SQL Server Management Studio)
- 비주얼 스튜디오
데이터베이스를 설정하십시오
- 머신에 MS SQL Server를 설치하십시오
- UOFT 데이터를 저장하기 위해 새 데이터베이스를 설정
- Visual Studio에서 UOFT 데이터베이스 프로젝트 속성을 열고 새로 생성 된 데이터베이스에 연결되도록 연결 문자열을 편집하십시오.
- UOFT 데이터베이스 프로젝트 속성의 빌드 설정에서 새 데이터베이스 설정 만들기를 선택하여 새 데이터베이스에서 관계형 데이터베이스 구조를 만듭니다).
- UOFT 데이터베이스 프로젝트를 시작 프로젝트 로 설정하고 F5를 누르면 UOFT 데이터베이스 프로젝트를 실행하십시오.
웹 스크래퍼를 설정하고 최신 UOFT 데이터를 얻으십시오.
- Project Web Scrapper 에 최신 Nuget 패키지가 있는지 확인하십시오.
- HTML 민첩성 팩
- 셀레늄 웹 드라이버
- 셀레늄 지원
- Chrome Driver (Chromedriver.exe)가 폴더 아래의 출력 디렉토리에 복사되어 있는지 확인하십시오 : Selenium/Web Drivers
- 데이터베이스에 대한 업데이트/삭제가 데이터베이스에 작성되도록 UOFT.DBML 파일의 연결 문자열을 편집하십시오.
- Project Web Scrapper를 시작 프로젝트로 선택하여 실행하여 실행하여 실행하십시오. 참고 : 웹에서 데이터를 긁어내는 데 시간이 걸립니다.
데이터 모델 프로젝트를 설정하십시오
- Uoft.dbml 파일의 연결 문자열을 데이터베이스로 변경하십시오.
- 프로젝트를 시작 프로젝트로 설정하고 F5를 누르면 프로젝트를 구축하십시오.
로컬 컴퓨터에서 웹 API 및 Angular JS 앱 실행
- Visual Studio에서 Solutions Explorer를 열십시오.
- 솔루션을 마우스 오른쪽 버튼으로 클릭하고 속성을 선택하십시오.
- 웹 API 와 웹 페이지 프로젝트를 모두 실행하도록 시작 프로젝트를 구성하십시오.
- 변경 사항을 저장하십시오.
- 마지막으로 F5를 눌러 프로젝트를 실행하십시오. 웹 API의 웹 페이지와 웹 페이지에서 프론트 엔드 애플리케이션으로 두 개의 웹 페이지가 나타납니다.
용법
이 프로젝트는 교육 목적으로 사용되며 상업적으로 사용되지 않습니다. 우리는이 프로젝트에서 수행 한 손해/변경에 대해 책임을지지 않습니다.
크레딧
전체 프로젝트를 만든 Emilio Kartono.
특허
이 프로젝트는 GNU 라이센스에 따라 보호됩니다. 자세한 내용은 Licence.txt를 참조하십시오.