Repository navigation
Installation Setup
Эта инструкция поможет вам сохранить репозиторий локально и настроить окружение для разработки.
Перед началом убедитесь, что у вас установлено:
python --version # Должно быть 3.10 или выше
git --version # Должно быть 2.x-
Откройте терминал (Command Prompt, PowerShell, Terminal)
-
Перейдите в папку, где будете хранить проект:
cd Documents/Projects -
Клонируйте репозиторий:
git clone https://github.com/moiaa/College_Management_System.git
-
Перейдите в папку проекта:
cd College_Management_System
- Нажмите зелёную кнопку Code на главной странице репозитория
- Выберите Download ZIP
- Распакуйте архив в удобную папку
Виртуальное окружение изолирует зависимости проекта от других ваших проектов.
python -m venv venv
venv\Scripts\activatepython3 -m venv venv
source venv/bin/activate✅ Проверка: Перед именем окружения в терминале появится (venv):
(venv) user@computer:~$pip install --upgrade pip
pip install -r requirements.txtЭто установит все необходимые библиотеки:
- SQLAlchemy (работа с БД)
- FastAPI (API)
- python-jose, passlib (аутентификация)
- pytest (тесты)
- и другие
python main.py initЧто происходит:
- Создаётся файл
college.dbв корне проекта - Создаются все таблицы согласно моделям
✅ Проверка: В папке проекта должен появиться файл college.db
python scripts/seed_data.pyЧто происходит:
- Создаются тестовые пользователи:
admin / admin123teacher1 / teacher123student1 / student123
- Добавляются тестовые курсы, расписание, оценки
-
Скопируйте файл
.env.exampleв.env:cp .env.example .env
-
Откройте
.envи измените при необходимости:DATABASE_URL=sqlite:///./college.db SECRET_KEY=your-secret-key-change-in-production DEBUG=True
Запустите тесты:
pytestПроверьте стиль кода:
flake8 .Оба шага должны пройти без ошибок на чистом клоне main — если что-то красное, см. ❓ FAQ, прежде чем считать, что вы что-то настроили не так.
Мало того, что pytest/flake8 зелёные — само приложение должно подниматься и отвечать. Запустите:
python main.py runи, пока сервер работает, откройте в браузере (или проверьте через curl в другом окне терминала):
-
http://127.0.0.1:8000/health— должен вернуть{"status": "ok"}. Это подтверждает, что backend вообще поднялся. -
http://127.0.0.1:8000/frontend/_example/— должна открыться рабочая страница-пример: список записей и форма добавления. Если страница загрузилась и добавление новой записи в форме реально появляется в списке — значит backend, frontend и база данных работают вместе как единое целое, именно так, как должно работать и у вас в модуле после того, как вы напишете код (см.docs/examples/example_module/README.mdи 🚀 Начало работы).
Если любой из этих двух пунктов не сработал — это повод разобраться сейчас, а не после того, как поверх уже написан код модуля.
Остановить сервер — Ctrl+C в терминале, где он запущен.
College_Management_System/
├── .env ← ваши локальные настройки (создаётся вручную на Шаге 6, в Git не попадает)
├── .env.example ← шаблон для .env
├── .flake8 ← настройки flake8
├── .gitignore
├── college.db ← база данных (появится после Шага 4, в Git не попадает)
├── venv/ ← виртуальное окружение (создаётся на Шаге 2, в Git не попадает)
├── core/ ← ядро системы: БД, аутентификация, общее FastAPI-приложение (core/api.py)
├── modules/ ← backend-часть модулей (Python/FastAPI) — 7 папок, ваш код сюда
├── frontend/ ← frontend-часть модулей (HTML/CSS/JS) — 7 папок + _example/, ваш код сюда
├── docs/ ← документация и рабочий пример (docs/examples/example_module/)
├── scripts/ ← инициализация БД, тестовые данные
├── tests/ ← общие тесты
├── .github/workflows/ ← CI (pytest + flake8 на каждый push/PR)
├── main.py ← точка входа (python main.py run / init)
└── requirements.txt ← зависимости
Если в репозитории появились изменения:
git pull origin mainЕсли есть конфликты, см. инструкцию 🔧 Работа с Git и GitHub.
Решение: Установите Python и добавьте его в PATH.
Решение: Активируйте виртуальное окружение и установите зависимости:
source venv/bin/activate
pip install -r requirements.txtРешение: Закройте все программы, которые могут использовать БД (DB Browser, другой терминал).
Ошибки конкретно про python-jose, отсутствующий .env.example или ModuleNotFoundError из-за папки модуля (student-portal и т.п.) сюда не относятся — это признак устаревшей локальной копии репозитория, разобрано отдельно в ❓ FAQ (раздел «Установка»).
После настройки переходите к:
- 🔧 Работа с Git и GitHub — создание веток, коммиты, PR
- 🚀 Начало работы — выбор модуля и начало разработки
Если что-то не работает:
- Проверьте ❓ FAQ
- Создайте Issue с описанием проблемы
- Обратитесь к преподавателю