Undergraduate Senior Project

2025-03-07T17:06:25+08:00 | 4分鐘閱讀 | 更新於 2025-10-22T08:07:13+08:00

@
Undergraduate Senior Project

畢業專題的開發手冊,讓組員知道如何進行開發的流程,也讓我體驗一次PM究竟有多難當

開發環境建置

安裝Python

  1. Python官網 下載Python的安裝檔(本教學以3.12.2的版本為例) image
  2. 開啟下載後的安裝檔後先選擇加入環境變數後再點及安裝 image image :::warning ⚠️ 如果沒有加到環境變數怎麼辦? ::: (1) 在設定中找到進階系統設定 upload_d002a0ceb865b2ba0888dbe89275efb5 (2) 選擇環境變數 image (3) 找到Path這個選項點兩下進去 Screenshot_1 (4) 將前面安Python的路徑加入環境變數按下確定就完成了 Screenshot_2

安裝VScode

  1. VSCode官網 下載安裝檔 image
  2. 開啟安裝檔選擇我同意並繼續下一步 image
  3. 選擇下一步 image
  4. 選擇下一步 image
  5. 按照圖中選項勾選後進行下一步 image
  6. 點擊安裝 image
  7. 這樣就安裝完成啦 image

建立虛擬環境

  1. 在桌面新增一個資料夾venv image
  2. 開啟資料夾後在上面的路徑欄輸入cmd後按下enter開啟命令提示字元 image
  3. 輸入下面指令建立虛擬環境
python -m venv <環境名稱>

image 4. 輸入指定切換路徑到activate的路徑

cd <環境名稱>/Script

image 5. 輸入指令切換虛擬環境

activate.bat

image 6. 安裝套件的指令(需先切換到requirements.txt的路徑位置)

pip install -r requirements.txt
  1. 離開虛擬環境指令
deactivate

Django指令說明

  1. 建立專案
django-admin startproject <專案名稱>
  1. 建立APP
python manage.py startapp <APP名稱>
  1. 專案設定
# 將預設的帳號APP設定成自己建立的物件
AUTH_USER_MODEL = 'accounts.Student'

# 新增建立好的APP
INSTALLED_APPS = [
    'whitenoise.runserver_nostatic', # 新增whitenoise讀取靜態檔案
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    '你的APP名稱',
]

# 新增whitenoise
MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',
    'whitenoise.middleware.WhiteNoiseMiddleware', # 新增whitenoise
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
]

# 修改Template路徑
TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [BASE_DIR / 'templates'], # 加入template路徑
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]

# database修改成使用postgresql
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',  #PostgreSQL
        'NAME': os.getenv('DATABASE_NAME'),  #資料庫名稱
        'USER': os.getenv('DATABASE_USER'),  #資料庫帳號
        'PASSWORD': os.getenv('DATABASE_PASSWORD'),  #資料庫密碼
        'HOST': os.getenv('DATABASE_HOST'),  #Server(伺服器)位址
    }
}

# 設定時區
TIME_ZONE = 'Asia/Taipei'

# 設定static路徑
STATIC_URL = '/static/'
STATICFILES_DIRS = [BASE_DIR / "static"]
STATIC_ROOT = BASE_DIR / "staticfiles"  # 這是 collectstatic 將收集靜態文件的目錄
  1. 建立資料庫建構檔
python manage.py makemigrations accounts
python manage.py makemigrations posts
  1. 建立資料庫
python manage.py migrate
  1. 建立超級使用者
python manage.py createsuperuser
  1. 蒐集靜態檔案
python manage.py collectstatic

安裝Postgresql

  1. Postgresql官網 下載安裝檔 image
  2. 啟動安裝檔後,點擊下一步 image
  3. 輸入使用者的資料庫密碼(要記得,這會是後續連線的環境變數) image
  4. 確認是否有佔port(基本上沒設定過資料庫不會佔port) image
  5. 點擊finish image
  6. 選擇最新版本 image
  7. 如果已經安裝了,點擊cancel,沒有安裝則需勾選並點擊next安裝 image image
  8. 開啟pgadmin,點擊左邊的server會需要你登入,密碼就是一開始安裝時輸入的密碼 image image
  9. 右鍵點及database後選擇create database,並輸入database名稱,資料庫就建立完成了 image image

git流程

  1. 分支簡介 為什麼需要使用git? 使用git可以有效率的管理不同工程師修改的程式碼,也比較方便管理整個專案 每個工程師在自己本機端修改程式碼之後再推送到遠端,管理程式碼的就可以確認你的程式碼正不正確再併入,這樣就不會有萬一錯誤了就無法還原到舊版本的問題 image

  2. sourcetree安裝

    1. sourcetree官網 下載sourcetree安裝檔 image
    2. 啟動安裝檔,選擇skip image
    3. 如果有安裝過git會自己找到git的位置,並選擇Next image
    4. 安裝完tool選擇Next image
    5. 輸入github的email後選擇Next image
    6. 他會跳出一個視窗問你需不需要建立ssh-key做連線,可以選擇no
    7. 跳出應用程式就是安裝完成了 image
  3. clone專案至本機 image image

  4. 建立新的branch image

  5. 選取改動的檔案進行commit image

  6. 選取要push的分支 image

  7. 到遠端建立pull request image image

  8. force push image image

設定環境變數

  1. 點擊新增檔案,名稱為.env image
  2. 新增以下環境變數
SECRET_KEY = <django專案的secret key,可以自己先建一個複製過來>
DATABASE_NAME = <你設定的database名稱>
DATABASE_UAER = <預設是postgres,要看你有沒有修改>
DATABASE_HOST = 'localhost'
DATABASE_PASSWORD = <你安裝postgresql設定的password>
DATABASE_PORT = <預設是5432,要看你有沒有修改>
CSRF_TRUSTED_ORIGINS_URL = <你的對外網址的URL,如果沒有先隨便填一個即可>
OPENAI_API_KEY = <OPENAI_API_KEY>

設定python debugger

image image image image

Azure雲端部屬

Reference:開始使用 Git 管理專案

© 2025 Aincrad

🌱 Powered by Hugo with theme Dream.

關於我

Hi,我是KonenTung,目前就讀國立臺北教育大學。

我非常喜歡寫程式以及做一些簡單的教學,希望能帶給也想學這些知識的人,目前已擔任多場工作坊的助教,希望有朝一日能擔任講師進行教學。

我擅長的程式語言為Python,目前正努力學習人工智慧的相關知識,也會一些網頁的前端及後端概念。

看動漫以及輕小說是我國高中的興趣,最喜歡的動漫是刀劍神域,夢想也是創建一個Aincrad,希望能應用到目前的AI的技術

我的專案(My Projects)
  • OnlineProgrammingPlatform

    專題的專案

    利用Python的後端框架建立一個遊戲式程式學習的平台

  • magicBoxBot

    使用LINE Messaging API串接的LINE Bot,是一個有許多功能的有趣機器人,有串接AI並且可以向他提問呦

    加入好友 -» https://line.me/R/ti/p/@544xkvdn

  • mazeSolution

    使用Pygame套件製作的簡易自動解迷宮動畫,雖然只是演算法的作業,但是我想要把它做的具體一點所以就使用Pygame這個套件做動畫並實際演示出演算法的結果

  • blog

    跨平台網頁設計的作業,大一的時候矇矇懂懂得建立了一個個人blog,做的非常辛苦,後來覺得維護太麻煩所以改使用現在這個做為主要的Blog,因為許多筆記都是用md做得所以就不要浪費時間寫一堆html了,直接使用這個hugo的框架建立比較省時也比較便利

    原Blog網址 -» https://konentung.github.io/Blog/

Workstudy Projects
  • ProgramWeb

    國科會計畫的專案

    利用Python的後端框架Django製作計畫的專案,並且加入AI提示的小老師,可以回應學生對應的問題

  • Bigdata-Line-Bot

    教育大數據微學程計畫專用LINE Bot

    使用LINE Bot API建立的LINE Bot,專門用來處理學生對於計畫課程的疑難雜症,設有多項功能,並且連結其他計畫社群以及經營,雖然目前計畫已結束,但是仍然不斷推出新課程供大家學習,建立一個良好的學習環境