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: Артем Набока, Володимир Пругло, Олена Маляренко.
Подяка всім учасникам проекту, а також ментору проекту: Владиславу Бабенко, за підтримку та допомогу.
Вступ
Застосунок “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” є ефективним інструментом для обміну світлинами та комунікації між користувачами.