Skip to content

MsSurgeon/ReadCode

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Трейнер для развития навыков чтения Python кода / Python Code Reading Trainer

О проекте

Python Code Reading Trainer — это образовательная веб-платформа, созданная для улучшения навыков чтения и понимания кода на Python. Проект направлен на решение одной из ключевых проблем начинающих и даже опытных разработчиков: умение быстро разбираться в чужом коде.

Цели проекта:

  • Развитие навыков анализа и понимания Python-кода
  • Улучшение способности распознавать паттерны программирования
  • Обучение эффективному чтению документации и комментариев
  • Подготовка к работе с реальными проектами и кодовыми базами

Особенности:

  • Интерактивные упражнения с постепенно возрастающей сложностью
  • Структурированные учебные материалы по различным аспектам программирования
  • Автоматическая оценка ответов с использованием ИИ
  • Отслеживание прогресса пользователя

Это веб-приложение для практики чтения и понимания кода на Python. Приложение предлагает учебные материалы по различным навыкам программирования и проверяет понимание кода с помощью интерактивных упражнений.

Требования

  • Python 3.8 или новее
  • Ключ ProxyAPI для оценки ответов пользователей

Установка и запуск

1. Клонируйте репозиторий и перейдите в директорию приложения

git clone <url-репозитория>
cd ReadCode

2. Создайте виртуальное окружение

Linux/macOS

python -m venv venv
source venv/bin/activate

Windows

python -m venv venv
venv\Scripts\activate

3. Установите зависимости

pip install -r requirements.txt

4. Настройте переменные окружения

В проекте функция оценки корректности ответа реализуется средствами LLM. Для взаимодействия с LLM использовано ProxyAPI. Если у вас нет токена, то вам понадобится пройти регистрацию, внести деньги на счет и получить ключ (токен).
Откройте файл .env в корневой директории проекта и добавьте ваш ключ: OPENAI_API_KEY=ваш_ключ_api_openai

Если вы планируете использовать API от OpenAI то удалите строку в файле .env с переменной OPENAI_API_BASE и поменяйте на предпочтительную вам модель.

python app.py

После запуска приложение будет доступно по адресу: http://127.0.0.1:5000/

Структура проекта

  • app.py - основной файл приложения
  • requirements.txt - список зависимостей
  • skills.json - список навыков и категорий
  • learning_materials/ - директория с учебными материалами в формате JSON
  • templates/ - HTML-шаблоны для веб-интерфейса
  • static/ - статические файлы (CSS, JavaScript)
  • flask_session/ - директория для хранения сессий пользователей (создается автоматически)

Запуск в продакшн-окружении

Использование Gunicorn (Linux/macOS)

pip install gunicorn
gunicorn -w 4 -b 0.0.0.0:5000 app:app

Использование Waitress (Windows)

pip install waitress
waitress-serve --host=0.0.0.0 --port=5000 app:app

Доступ из сети

Чтобы сделать приложение доступным из локальной сети, запустите его с параметром --host=0.0.0.0:

flask run --host=0.0.0.0 --port=5000

Возможные проблемы и их решение

  1. Ошибка доступа к OpenAI API: Проверьте правильность API-ключа в файле .env.

  2. Ошибка доступа к файлам: Убедитесь, что пути к файлам корректны и файлы доступны для чтения.

  3. Проблемы с сессиями: Убедитесь, что директория flask_session доступна для записи.

  4. Проблемы с доступом из сети: Проверьте настройки брандмауэра, они могут блокировать подключения к порту 5000.

Использование Docker (опционально)

Создание образа

docker build -t python-code-reading-practice .

Запуск контейнера

docker run -p 5000:5000 -e OPENAI_API_KEY=ваш_ключ_api_openai python-code-reading-practice

Лицензия MIT

About

This educational web platform was created to improve skills in reading and understanding Python code.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors