/PhotoShare

Primary LanguagePythonMIT LicenseMIT

Назва проекту

PhotoShare

Передумови

Перш ніж ви зможете запустити цей проект, вам потрібно встановити наступні програми:

  • Python (версія 3.8 або вище)
  • pip (Python пакетний менеджер)
  • poetry (для використання віртуального середовища poetry)

Клонування репозиторію

Щоб клонувати репозиторій на ваш локальний комп'ютер, виконайте наступну команду:

git clone https://github.com/Alona7777/Project-TEAM_1
cd your-project-name

Встановлення залежностей

Перед запуском застосунку вам потрібно встановити необхідні залежності. Виконайте наступну команду в директорії проекту:

pip install -r requirements.txt

poetry install - для poetry

Запуск застосунку

Після встановлення залежностей ви можете запустити застосунок за допомогою наступної команди:

uvicorn main:app --reload

Ця команда запустить сервер на локальній машині за адресою http://127.0.0.1:8000. Опція --reload автоматично перезапускає сервер при змінах у коді.

Використання

Відкрийте ваш браузер і перейдіть за адресою http://127.0.0.1:8000 для доступу до API. Ви також можете використовувати інтерфейс Swagger за адресою http://127.0.0.1:8000/docs для тестування API.

Ліцензія

MIT LICENCE.

Автори

Команда: "Team-1", Team Lead: Альона Боголєпова, Scrum: Ігор Рись, Developers: Артем Набока, Володимир Пругло, Олена Маляренко.

Подяки

Подяка всім учасникам проекту, а також ментору проекту: Владиславу Бабенко, за підтримку та допомогу.

Опис REST API для застосунку “PhotoShare”

Вступ

Застосунок “PhotoShare” надає можливість користувачам завантажувати, переглядати та коментувати світлини. API розроблено з використанням фреймворку FastAPI, що забезпечує швидке та ефективне виконання HTTP запитів.

Аутентифікація

Аутентифікація в “PhotoShare” API забезпечується через токени, що видаються після успішної авторизації користувача. Процес включає наступні кроки:

Реєстрація користувача:

POST /users/register Поля: username, password, email Результат: Повідомлення про успішну реєстрацію або помилки валідації. Вхід (Логін): POST /users/login Поля: username, password Результат: Токен аутентифікації, який використовується для авторизації подальших запитів.

Робота зі світлинами

Застосунок надає можливість завантажувати нові світлини, переглядати існуючі, а також видаляти їх. Кожна операція вимагає аутентифікації.

Завантаження світлини:

POST /photos Запит має містити multipart/form-data з файлом світлини. Результат: URL завантаженої світлини та інформація про неї. Перегляд світлини: GET /photos/{photo_id} Результат: Деталі світлини та URL для перегляду. Видалення світлини: DELETE /photos/{photo_id} Результат: Повідомлення про успішне видалення або помилку, якщо світлину не знайдено або користувач не має до неї прав.

Коментування

Коментування дозволяє користувачам взаємодіяти зі світлинами через текстові коментарі.

Додавання коментаря:

POST /photos/{photo_id}/comments Поля: text Результат: Деталі доданого коментаря. Перегляд коментарів до світлини: GET /photos/{photo_id}/comments Результат: Список всіх коментарів до світлини. Видалення коментаря: DELETE /comments/{comment_id} Результат: Повідомлення про успішне видалення коментаря або помилку, якщо коментар не знайдено.

Заключення

API застосунку “PhotoShare” використовує стандарти REST для забезпечення простоти та зручності взаємодії. Завдяки швидкості та надійності FastAPI, “PhotoShare” є ефективним інструментом для обміну світлинами та комунікації між користувачами.