최초 배포 버전 개발 기간 : 2023.02 ~ 2023.03
영남대 컴퓨터공학과 학생들을 위한 사물함 예약 시스템
배포 진행했던 링크 - yucselocker.site (현재 예약 종료, 매년 초 오픈)
-
파이썬 패키지 설치
$ pip install -r requirements.txt
-
Flutter 빌드
2.1. 수동 빌드
$ cd lockerReservation/Flutter/locker_reservation_system $ flutter build web
Flutter/locker_reservation_system/web/ 내부 파일들을 Django/flutter_web_app으로 이동
2.2. 스크립트를 사용한 자동 빌드
🔥 빌드 파일 .gitignore에 추가함으로써 pull request 후 merge 시 필수적으로 시행해야하는 동작-
flutter 프로젝트 디렉토리로 이동
$ cd Flutter/locker_reservation_system
-
빌드 자동화 셸 스크립트 실행
$ sh moveBuildFile.sh
-
-
배포
3.1. uwsgi 실행
$ cd Django $ uwsgi --ini uwsgi.ini
3.2. Nginx 설치/설정
$ sudo apt-get install nginx $ sudo vi /etc/nginx/nginx.conf > # http에 upstream django 추가 http { upstream django { server unix:{프로젝트 폴더 경로}/uwsgi.sock; } } $ sudo vi /etc/nginx/sites-enabled/default > location / { # try_files $uri $uri/ =404; 삭제 include /etc/nginx/uwsgi_params; uwsgi_pass django; } $ sudo service nginx restart
3.3. letsencrypt https 적용
$ sudo apt-get install python3-certbot-nginx $ sudo certbot --nginx -d yucselocker.site > # 이메일, 이용 동의 등 입력 1: No redirect - Make no further changes to the webserver configuration. 2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for new sites, or if you're confident your site works on HTTPS. You can undo this # 1 : http->https 자동 리다이렉트 지원 X # 2 : http->https 자동 리다이렉트 지원 O
-
연장 신청 데이터 -> 데이터베이스 추가
data_processing/excel_processing/2023 컴퓨터공학과 사물함 연장 신청.xlsx
의 양식은 아래와 같다.
연장신청 액셀 데이터 설정이 완료되었다면
data_processing 디렉토리에서
$ bash run.sh migrate
-
사물함 예약 데이터베이스 -> UI로 결과 출력
$ bash run.sh result
실행하여 생긴 locker_state.png를 사용하면 됨.
Module Version Flutter 3.7.6 cupertino_icons 1.0.2 provider 6.0.5 fluro 2.0.5 http 0.13.5 flutter_dotenv 5.0.2 flutter_svg 2.0.2 crypto 3.0.2 url_strategy 0.2.0
Package Version Python 3.9 asgiref 3.6.0 autopep8 2.0.1 backports.zoneinfo 0.2.1 certifi 2022.12.7 cffi 1.15.1 charset-normalizer 3.0.1 cryptography 39.0.1 Django 4.1.6 django-cors-headers 3.13.0 django-filter 22.1 django-session-timeout 0.1.0 djangorestframework 3.14.0 idna 3.4 pycodestyle 2.10.0 pycparser 2.21 pytz 2022.7.1 requests 2.28.2 six 1.16.0 sqlparse 0.4.3 tomli 2.0.1 urllib3 1.26.14 uWSGI 2.0.21
Module Version et-xmlfile 1.1.0 numpy 1.24.2 opencv-python 4.7.0.72 openpyxl 3.1.2 pandas 1.5.3 Pillow 9.4.0 python-dateutil 2.8.2 pytz 2022.7.1 six 1.16.0
정승균 |
원준영 |
김재현 |
최재혁 |