Skip to content

Gabryelf/AppFast

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FastAPI Streaming Platform

Проект пользовательской платформы на FastAPI с аутентификацией пользователей и управлением товарами.

v003 Deploy

https://appfast-1.onrender.com

🚀 Функциональность

✅ Регистрация и аутентификация пользователей

✅ Управление пользовательскими профилями

✅ Создание и управление стримами

✅ JWT-токены для авторизации

✅ REST API с документацией Swagger

✅ SQLite база данных

🛠 Технологии

FastAPI - современный веб-фреймворк

SQLAlchemy - ORM для работы с БД

SQLite - база данных

Pydantic - валидация данных

Uvicorn - ASGI сервер

JWT - аутентификация

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

  1. Клонирование репозитория
  2. git clone <(https://github.com/Gabryelf/AppFast)> cd AppFast
  3. Создание виртуального окружения bash python -m venv venv source venv/bin/activate # Linux/MacOS venv\Scripts\activate # Windows
  4. Установка зависимостей bash pip install -r requirements.txt
  5. Настройка базы данных bash python scripts/recreate_db.py
  6. Запуск приложения bash uvicorn app.main:app --reload Приложение будет доступно по адресу: http://localhost:8000

📚 API Документация После запуска доступны:

Swagger UI: http://localhost:8000/docs

ReDoc: http://localhost:8000/redoc

🔐 API Эндпоинты Аутентификация POST /login - вход пользователя

POST /user - регистрация нового пользователя

Пользователи GET /user/{id} - получение информации о пользователе

PUT /user/{id} - обновление профиля пользователя

Стримы GET /streams - список всех стримов

POST /stream - создание нового стрима

GET /stream/{id} - информация о стриме

PUT /stream/{id} - обновление стрима

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

Инициализация приложения main.py

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

Схема роутеров handlers.py

Роутеры

Обновление роутеров handlers.py

Роутеры

Формы pydantic forms.py

Роутеры

Конфиг с путями config.py

Роутеры

Модели для sqlalchemy models.py

Роутеры

Модели через SQL models.py

Роутеры

База данных через sqlite3 create_db.py

Роутеры

Проверка и хеширование пароля utils.py

Роутеры

Ручное тестирование Swagger

Swagger

Swagger

Swagger

🔧 Разработка

Добавление новых эндпоинтов Добавьте модель в models.py

Создайте Pydantic схему в forms.py

Добавьте обработчик в handlers.py

Протестируйте через Swagger UI

Работа с миграциями

Для изменения структуры БД:

Внесите изменения в модели

🤝 Вклад в проект

Форкните репозиторий

Создайте ветку для фичи (git checkout -b feature/AmazingFeature)

Закоммитьте изменения (git commit -m 'Add some AmazingFeature')

Запушьте ветку (git push origin feature/AmazingFeature)

Откройте Pull Request

👥 Авторы

Gabryelf - Initial work

🙏 Благодарности

FastAPI сообществу

About

Сервис с аутификацией и базой данных на Python.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published