Skip to content

andyelka-creator/numapp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NumApp

NumApp — проект с двумя реализациями одной логики:

  • iOS-приложение на SwiftUI (папка NumApp/)
  • веб-версия для публикации на GitHub Pages (папка webapp/)

Веб-версия является функциональной копией текущей логики iOS-экрана:

  • список людей
  • добавление человека (Фамилия, Имя, Отчество, дата рождения)
  • удаление человека
  • расчет «Числа Рождения»
  • визуализация «пирамиды» (цифра + планета)
  • локальное сохранение списка

Содержание

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

.
├── .github/
│   └── workflows/
│       └── deploy-pages.yml      # Деплой webapp в GitHub Pages
├── NumApp/                       # Исходники iOS-приложения (SwiftUI)
├── NumApp.xcodeproj/             # Xcode-проект
├── webapp/
│   ├── index.html                # UI (Tailwind CDN)
│   ├── app.js                    # Вся бизнес-логика веб-версии
│   ├── style.css                 # Остался от ранней версии (сейчас не обязателен)
│   └── README.md                 # Краткая справка по webapp
├── README.md                     # Этот файл
└── AGENTS.md                     # Правила для агентов/контрибьюторов

Быстрый старт (веб)

Требования:

  • любой статический HTTP сервер
  • современный браузер

Запуск локально из корня репозитория:

cd /Users/andrejeliseev/Documents/Numbers/NumApp/NumApp
python3 -m http.server 8080

Открыть:

  • http://localhost:8080/webapp/

Важно:

  • Если открыть HTML напрямую как file://..., часть поведения может отличаться.
  • Если после изменений видите старую версию страницы, сделайте hard refresh (Cmd+Shift+R).

Публикация на GitHub Pages

Репозиторий:

  • https://github.com/andyelka-creator/numapp

Production URL:

  • https://andyelka-creator.github.io/numapp/

Настройка уже выполнена:

  • workflow: .github/workflows/deploy-pages.yml
  • деплой артефакта из папки ./webapp
  • Pages -> Build and deployment: тип GitHub Actions

Как публиковать обновления:

  1. Внести изменения в webapp/
  2. Сделать commit и push в main
  3. Дождаться завершения workflow Deploy WebApp to GitHub Pages

Ручной запуск деплоя:

gh workflow run deploy-pages.yml --ref main

Просмотр последних запусков:

gh run list --limit 10

Логика вычислений

Реализация в вебе: webapp/app.js, функция processData.

Алгоритм:

  1. Входная дата приводится к строке dd.MM.yyyy
  2. Формируется dayMonth = ddMM (например, 5 февраля -> 0502)
  3. number = Int(dayMonth) * year
  4. Если строка результата 6 символов, слева добавляется 0
  5. Если год високосный, первый символ переносится в конец
  6. Определяется день недели даты рождения (локаль ru-RU)
  7. Список планет циклически сдвигается по индексу дня недели
  8. Каждой цифре numberStr назначается планета по кругу

Справочники:

  • weekdays: Понедельник ... Воскресенье
  • planetsList: Луна, Марс, Меркурий, Юпитер, Венера, Сатурн, Солнце

Источники правил нумерологии для пояснений

Формат данных

Веб-версия хранит людей в localStorage под ключом:

  • people.json

Структура записи:

{
  "id": "uuid-or-fallback-id",
  "surname": "Иванов",
  "name": "Иван",
  "patronymic": "Иванович",
  "dob": "26.11.2024",
  "numberStr": "...",
  "planetMapping": [["1", "Луна"], ["2", "Марс"]]
}

Совместимость:

  • planetMapping принимается как массив пар ([digit, planet])
  • также поддерживается объектный формат {digit, planet} на этапе нормализации

iOS-часть

iOS-приложение находится в:

  • NumApp/ContentView.swift
  • NumApp/NumAppApp.swift

На текущем этапе проект используется в первую очередь как источник логики для web-копии.

Примечание:

  • В рабочем дереве могут быть незакоммиченные изменения iOS-файлов.
  • Перед активной доработкой iOS рекомендуется сначала стабилизировать состояние сборки и структуры target-файлов.

Полезные команды

Проверка синтаксиса JS:

node --check webapp/app.js

Локальный запуск веб-версии:

python3 -m http.server 8080

Проверка remotes:

git remote -v

Проверка статуса git:

git status --short --branch

Траблшутинг

404 при локальном запуске

Причина: сервер запущен не из корня репозитория.

Решение:

  • перейти в /Users/andrejeliseev/Documents/Numbers/NumApp/NumApp
  • запустить python3 -m http.server 8080
  • открыть http://localhost:8080/webapp/

GitHub Actions падает на Setup Pages

Проверьте:

  • репозиторий публичный или имеет доступный тариф для Pages
  • в Settings -> Pages выбран GitHub Actions
  • в workflow есть permissions: pages: write, id-token: write

На Pages открывается стандартный 404

Обычно это означает, что:

  • деплой еще не завершен
  • или источник Pages не переключен на workflow

Проверьте последние run'ы:

  • https://github.com/andyelka-creator/numapp/actions

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages