Skip to content

Nemeeza/Puff

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CLI-утилита для управления проектом Puff

Этот проект предоставляет интерфейс командной строки (CLI) для управления и запуска вашего приложения. Утилита включает команды для инициализации структуры проекта и запуска сервера с использованием Uvicorn. Проект Puff построен на современном стеке технологий, включая PeeWee, MySQL, FastAPI, Jinja2 и JQuery, что делает его мощным инструментом для разработки веб-приложений.

Установка

Вы можете установить CLI-утилиту Puff из PyPI с помощью pip:

pip install puff-web

Использование

После установки вы можете использовать CLI-утилиту, выполняя команду puff в терминале.

Доступные команды

Инициализация проекта

Чтобы создать новый проект с указанным именем, используйте команду init:

puff init --name my_project
  • --name или -n: Имя проекта (по умолчанию — "puff").

Эта команда создаст структуру проекта в текущей рабочей директории.

Запуск сервера

Чтобы запустить сервер с использованием Uvicorn, используйте команду runserver:

puff runserver --host 0.0.0.0 --port 8080
  • --host или -H: Имя хоста или IP-адрес, на котором будет запущен сервер (по умолчанию — "localhost").
  • --port или -p: Порт, на котором сервер будет ожидать подключений (по умолчанию — 8000).

Эта команда запустит сервер с указанным хостом и портом, а также автоматически перезагрузит его при обнаружении изменений.

Технологический стек

Проект Puff использует следующие технологии:

  • PeeWee: Легковесная ORM (Object-Relational Mapping) для работы с базой данных. PeeWee позволяет легко управлять моделями данных и выполнять запросы к базе данных.
  • MySQL: Популярная реляционная база данных, используемая для хранения данных приложения. MySQL обеспечивает высокую производительность и надежность.
  • FastAPI: Современный фреймворк для создания API на Python. FastAPI отличается высокой скоростью работы и поддержкой асинхронных запросов.
  • Jinja2: Шаблонизатор для генерации HTML-кода. Jinja2 позволяет легко создавать динамические веб-страницы с использованием шаблонов.
  • JQuery: Библиотека JavaScript, упрощающая работу с DOM, обработку событий и выполнение AJAX-запросов. JQuery используется для создания интерактивных элементов на стороне клиента.

Структура развёрнутого проекта

После инициализации проекта с помощью команды puff init, создаётся следующая структура файлов и директорий:

my_project/
├── app/                  # Основная директория приложения
│   ├── __init__.py       # Инициализация приложения
│   ├── main.py           # Точка входа для FastAPI
│   ├── models/           # Модели данных (PeeWee)
│   ├── routes/           # Маршруты API (FastAPI)
│   ├── templates/        # Шаблоны Jinja2 для HTML
│   └── static/           # Статические файлы (CSS, JS, изображения)
└── requirements.txt      # Зависимости проекта

Пример использования

  1. Создайте новый проект с именем "my_app":

    puff init --name my_app
  2. Запустите сервер на 0.0.0.0 и порту 8080:

    puff runserver --host 0.0.0.0 --port 8080

Лицензия

Этот проект распространяется под лицензией MIT. Это означает, что вы можете свободно использовать, изменять и распространять код с минимальными ограничениями. Подробности можно найти в файле LICENSE.

Поддержка

Если у вас возникли вопросы или проблемы, пожалуйста, создайте issue в репозитории на GitHub.

About

💨 Инструмент для быстрого развёртывания веб-приложений на стеке: PeeWee, MySQL, FastAPI, Jinja2 и JQuery. Упрощает настройку и запуск проектов.

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages