proDream 84446d44ce
All checks were successful
Lint project / lint (push) Successful in 47s
fix: обновлен ответ модели в маршруте регистрации
- Изменен тип возвращаемого значения функции `registration` на `UserReturnData`.
- Обновлена аннотация `response_model` для маршрута `/register`.
2025-01-12 13:12:50 +04:00

Napkin Tools: Lkeep (Links Keeper)

Lkeep — сервис сокращения ссылок, написанный на Python с использованием современных технологий, таких как FastAPI, PostgreSQL, Poetry, Pydantic и других.

Проект находится в процессе разработки. Следить за ходом можно:

Технологии

  • FastAPI — для построения высокопроизводительных API.
  • PostgreSQL — реляционная база данных для хранения данных.
  • asyncpg — асинхронная библиотека для подключения к PostgreSQL.
  • SQLAlchemy — ORM для работы с базой данных.
  • Poetry — инструмент для управления зависимостями и виртуальными окружениями.
  • Pydantic — для валидации данных и работы с моделями.
  • pre-commit — инструмент для автоматической проверки кода перед коммитом.
  • CI Workflow — автоматизация тестирования приложения.
  • uvicorn — высокопроизводительный ASGI-сервер для обработки HTTP-запросов.
  • pydantic-settings — библиотека для работы с конфигурациями и переменными окружения с использованием Pydantic.
  • passlib — библиотека для безопасного хеширования паролей и других данных.

Репозитории

  • GitHub — основной репозиторий проекта.
  • GIT на салфетке — зеркальная копия репозитория на Gitea.

Ссылки на статьи

Я пишу подробные статьи для новичков о процессе создания этого проекта. Ознакомьтесь с ними на Код на салфетке:

  1. FastAPI 1. Инициализация проекта
  2. FastAPI 2. Подготовка проекта
  3. FastAPI 3. Подключение к SQLAlchemy и генератор сессий
  4. FastAPI 4. Модель пользователя, миксины и Alembic
  5. FastAPI 5. Приложение аутентификации и Pydantic схемы

Установка

Для установки и запуска проекта на вашем локальном компьютере выполните следующие шаги.

  1. Клонируйте репозиторий:

    Для этого используйте команду git clone. Это создаст локальную копию проекта на вашем компьютере.

    Если вы используете GitHub:

    git clone https://github.com/proDreams/lkeep.git
    

    Или если предпочитаете Gitea:

    git clone https://git.pressanybutton.ru/proDream/lkeep.git
    
  2. Установите зависимости:

    Для управления зависимостями в проекте используется Poetry. После клонирования репозитория, перейдите в папку с проектом и установите все необходимые пакеты:

    cd lkeep
    poetry install
    

    Poetry автоматически установит все библиотеки, указанные в файле pyproject.toml.

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

    В корне проекта находится файл .env.example. Скопируйте его и переименуйте в .env. В нем хранятся настройки для подключения к базе данных и другие параметры конфигурации.

    Пример команды:

    cp .env.example .env
    

    Затем откройте файл .env и заполните его значениями, соответствующими вашей системе (например, настройки подключения к базе данных PostgreSQL).

  4. Запустите приложение:

    Для запуска сервера в режиме разработки используйте команду с Poetry:

    poetry run app
    

    Это запустит приложение на локальном сервере, доступном по адресу http://127.0.0.1:8000.

Автор

Проект разработан Иваном Ашихминым. Для связи используйте Telegram.

Проект создается в рамках сайта "Код на салфетке", где публикуются статьи и обучающие материалы по разработке.

Description
Сервис сокращения ссылок для проекта "Код на салфетке"
https://pressanybutton.ru/category/servis-na-fastapi/ Readme 240 KiB
Languages
Python 97.4%
Mako 2.6%