Skip to content

This repository belongs to a university project, Stimulating an online course selection system. We used Python and Django to develop it.

Notifications You must be signed in to change notification settings

SD2nd/amuzeshyar

Repository files navigation

build on liara host

login panel

آپدیت 2 خرداد - اضافه شدن قالب مستندات API و Serializer

با توجه به موارد شرح داده شده در کلاس، فایل قالب مستندات API و Serialzier در درایو مشترک قابل دسترسی است، پس از اتمام فرایند مستندسازی کار های خود، فایل را برای خانم المیرا نیازی ارسال کنید. بعضی از جاها نیاز به درج بلوک کد می باشد. می تونید از Easy code formatter استفاده کنید.

علاوه بر اون لازم است تا دیتای ترم فعلی و ترم سابق خود را به صورت واقعی در دیتابیس وارد کنید

برای این کار لازمه که به پنل ادمین دسترسی داشته باشید. برای دسترسی به پنل ادمین از آدرس زیر استفاده می کنیم.

http://127.0.0.1:8000/admin

برای ورود به پنل در صورت نداشتن username, password پس از فعال کردن محیط مجازی از دستور زیر استفاده می کنیم و اطلاعات خواسته شده را به جنگو می دهیم.

manage.py createsuperuser

لینک فایل قالب (فایل فشرده): https://drive.google.com/file/d/15nlHpRIfNLMEw4clwFQImrJ_qT7lv2JZ/view?usp=share_link

آپدیت - اضافه شدن مستندات API در بستر Swagger

صفحه مستندات API های توسعه داده شده تا به حال را می توانید پس از اجرا گرفتن از برنامه در آدرس زیر مشاهده و آنها را تست کنید

  • توجه کنید که باید پکیج های مربوط را در محیط مجازی خود نصب کرده باشید برای اطمینان از داشتن آخرین پکیج ها پس از فعال سازی محیط مجازی دستور زیر را وارد می کنیم
// suppose you are in the project directory 

venv\Scripts\Activate
pip install -r requirements.txt

سپس برای مشاهده مستندات به آدرس زیر می رویم

http://127.0.0.1:8000/edu/api/schema/swaggerui/

فهرست

شروع سریع مشارکت در پروژه

پیش نیاز ها

شروع سریع

برای مشارکت در پروژه ابتدا باید مطمئن شوید که توسط صاحب مخزن به عنوان یک توسعه دهنده در پروژه اضافه شده اید، در غیر این صورت امکان push کردن کد هایتان وجود ندارد!

در جایی از سیستم خود پوشه ای بسازید، درون پوشه مذکور وارد شوید و روی آدرس بار کلیک کنید و عبارت CMD را وارد کنید. در ترمینال باز شده دستور دریافت مخزن را وارد کنید

توجه کنید که اگر ترمینال را در جای دیگری مثلا محیط vscode باز کردیم، مطمئن شویم که command prompt می باشد و نه power shell

git clone https://github.com/SD2nd/amuzeshyar.git

مخزن دریافت شد

در ترمینال باز مرحله قبل عبارت

cd amuzeshyar

را وارد کنید، حال باید در این پوشه محیط مجازی برای نصب پکیج های مورد نیاز برنامه بسازیم با دستور

python -m venv venv

محیط مجازی ساخته خواهد شد. باید محیط مجازی را فعال کنیم با دستور:

venv\Scripts\Activate

اگر تا بدین جا مراحل را درست طی کرده باشیم، در ترمینال کلمه (venv) را سمت چپ خط فرمان خواهیم دید حال لازم است تا پکیج های مورد نیاز برنامه را در محیط مجازی خود نصب کنیم که از دستور

pip install -r requirements.txt

استفاده می کنیم.

برای توسعه باید از شاخه dev استفاده کنیم، به صورت پیشفرض بعد از دریافت مخزن روی این شاخه هستیم. تمامی تغییرات هم روی همین شاخه صورت می گیرد هنگامی که توسعه API یا ماژول توسط افراد به پایان رسید توسط مسئول مخزن با شاخه main ادغام خواهد شد. توجه شود که build برنامه به روی هاست روی شاخه اصلی (main) صورت خواهد گرفت

برنامه آماده اجرا شدن است. کافیست در ترمینال دستور زیر را وارد کنید:

manage.py runserver

در صورتی که برنامه به درستی اجرا شده باشد آدرس 127.0.0.1:8000 را نمایش خواهد داد در غیر این صورت ارور خواهیم دید

چنین چیزی نشان از درست اجرا شدن برنامه است:

Watching for file changes with StatReloader
Performing system checks...

System check identified no issues (0 silenced).
April 13, 2023 - 02:23:39
Django version 4.1, using settings 'configs.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.

حال به توسعه کد بپردازید. و نتیجه را در 127.0.0.1:8000 ببینید

اتصال به پایگاه داده

برای ذخیره سازی داده ها از یک دیتابیس هاست شده استفاده خواهیم کرد. هر یک از افراد می تواند به صورت مستقیم به پایگاه داده متصل شده و داده ها را اضافه، دستکاری یا حذف کند.

برای اتصال در mysql workbench به روی افزودن نمونه جدید (علامت +) کلیک می کنیم

پنجره باز شده اطلاعات اتصال به دیتابیس هاست را می خواهد

تنظیمات دیتابیس به شرح زیر است

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'nifty_shaw',
        'USER': 'root',  
        'PASSWORD': 'QLg6aDCHKs4VVgnzU0Et40Ce',  
        'HOST': 'may.iran.liara.ir',  
        'PORT': '31362',  
        'OPTIONS': {  
            'init_command': "SET sql_mode='STRICT_TRANS_TABLES'"  
        }  
    }
}

بعد از وارد کردن اطلاعات test connection را بزنید، در صورت موفقیت آمیز بودن ok را زده و وارد دیتابیس شوید. در غیر این صورت مجددا امتحان کنید

مستندات

About

This repository belongs to a university project, Stimulating an online course selection system. We used Python and Django to develop it.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published