Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

приложение ToDoList

Техническое задание

  • Ваша задача — объединить все прошлые работы в одну систему.
  • Необходимо провести интеграцию серверной части и двух клиентских (мобильный и веб).
  • Минимальный требующийся функционал:
    • Просмотр списка дел
    • Добавление дела
    • Удаление дела
    • Редактирование текста-описания дела
    • Перевод невыполненного дела в состояние «Выполнено»
    • Перевод выполненного дела в состояние «Не выполнено»

Обратите внимание: данные на клиентах должны быть синхронизированы. При изменении данных через веб-клиент изменения сразу доступны в мобильном клиенте, и наоборот.

Структура репозитория

  • Api/ — FastAPI + SQLite backend (ToDoList.db).
  • Web/ — статический фронт (HTML/CSS/JS), отдаётся самим FastAPI.
  • mobile/ — SwiftUI-приложение (AppFull/AppFull.xcodeproj).

Настройка окружения

Backend

cd Api
python -m venv .venv
source .venv/bin/activate  # Windows: .venv\Scripts\activate
pip install -r requirements.txt  # если файла нет — pip install fastapi uvicorn[standard] sqlalchemy aiosqlite
python main.py  # или: uvicorn main:app --host 0.0.0.0 --port 8000 --reload

Веб-клиент

  • После запуска backend откройте браузер на http://127.0.0.1:8000 (локально) или http://<ip_компьютера>:8000 (если сервер на другой машине).

Мобильный клиент (SwiftUI)

  1. Откройте mobile/AppFull/AppFull.xcodeproj в Xcode.
  2. В файле TodoApp.swift обновите базовый URL, если запускаете на реальном устройстве (http://<ip_компьютера>:8000/api).
  3. В Info.plist добавьте:
    • Privacy - Local Network Usage Description — текст с объяснением, зачем приложению локальная сеть.
    • App Transport Security SettingsAllow Arbitrary Loads = YES (или конкретное исключение для вашего сервера).
  4. Запустите backend и убедитесь, что устройство и компьютер в одной сети Wi‑Fi.
  5. В Xcode выберите схему AppFull, нажмите Run.

Дополнительные заметки

  • SQLite файл Api/ToDoList.db создаётся автоматически при первом запуске. При необходимости можно мигрировать схему через SQLAlchemy.
  • Swagger UI доступен по http://127.0.0.1:8000/docs.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages