открытое PHP веб-приложение для иерархического списка дел по chore

Вопрос или проблема

Я хочу веб-приложение, которое мы с сыном можем использовать для отслеживания его домашних заданий.

Каждое домашнее задание должно быть расширяемым для добавления соответствующих колонок для пар ключ=значение, таких как сумма оплаты за выполнение задания, ожидаемая сложность/время выполнения, срок выполнения задания и т.д.

Данные о заданиях должны позволять организовывать их в иерархической структуре так, чтобы подзадания могли подводить свои соответствующие значения колонок к агрегированным сводкам. Например, сумма оплаты за выполнение супервикторины должна быть динамической суммой всех ее рекурсивных подзаданий.

Требования

  • веб-приложение
  • открытый исходный код
  • основано на PHP
  • иерархические списки с агрегированными атрибутами

Предпочтения

  • простой
  • объектно-ориентированный
  • расширяемые атрибуты элементов списка
  • перетаскиваемый интерфейс
  • смешанное использование баз данных. Я вижу реляционную СУБД, такую как MySQL, для серверной части и документную СУБД, такую как MongoDB, для кэширования на клиентской стороне.

Я программист на PHP и могу написать это с нуля, поэтому я довольно гибок в своих требованиях. Но так как это в общем-то очень простый тривиальный проект, я уверен, что на GitHub уже доступно как минимум 100 таких проектов, если бы я только мог их найти – особенно учитывая список дел на главной странице Angular, который кажется классическим примером приложения в любом фреймворке. Я хотел бы найти лучшую отправную точку, которую смогу, и затем иметь возможность форкнуть проект и настроить его под свои нужды.

Существует расширение управления проектами для WordPress под названием WP-Project Manager

Большую часть времени, которое уйдет на его настройку, будет составлять косметические детали для клиентской части и детали для регулярного управления задачами.

Настроив его в вашей локальной сети с помощью XAMPP на Windows или MAMP на Mac, вы обеспечите безопасность и устраните необходимость в домене и веб-хостинге.

Ответ или решение

Создание веб-приложения для управления заданиями и домашними хлопотами может стать увлекательным и полезным проектом не только для вашего сына, но и для вас как программиста. Давайте рассмотрим, как вы можете разработать open-source веб-приложение на PHP для иерархического списка дел с возможностью расширения атрибутов, возможно, опираясь на существующие решения и библиотеки.

Общие характеристики проекта

Функциональные требования:

  1. Веб-приложение – доступное через браузер, обеспечивающее удобный интерфейс.
  2. Open-source – четко документированный код, доступный для модификаций и улучшений.
  3. PHP-базированное – использование PHP, как основного языка программирования.
  4. Иерархические списки – возможность создания подзадач и агрегации полей (например, сумма оплаты за выполнение задания).

Предпочтения в дизайне и архитектуре:

  1. Простота – минималистичный интерфейс для удобного использования.
  2. Объектно-ориентированное программирование – использование принципов OOP для удобства модификации кода.
  3. Расширяемые атрибуты – возможность добавления пользовательских полей, таких как сумма оплаты или срок выполнения.
  4. Драг-н-дроп интерфейс – для удобства редактирования и перемещения задач.
  5. Смешанное использование баз данных – использование реляционной СУБД (например, MySQL) для хранения основных данных и документной СУБД (например, MongoDB) для кэша на фронтенде.

Поиск существующих решений

Перед тем как приступить к разработке с нуля, рекомендуем обратить внимание на доступные на GitHub проекты. К сожалению, многие из них могут не полностью соответствовать вашим требованиям, однако вы сможете найти полезные компоненты:

  1. PHP To-Do List – многие репозитории предлагают базовые версии приложения с возможностью добавления задач и их редактирования, что может стать хорошей основой. Например, библиотеки, использующие фреймворк Laravel или CodeIgniter.
  2. Task Management Systems – рассмотрите проекты, похожие на WP-Project Manager, который предоставляет расширенные функции управления проектами и задачами.
  3. Примеры приложений на Angular – хотя вы ищете PHP-приложения, многие концепции из Angular-примеров можно адаптировать для вашего проекта.

Настройка локальной среды

Для разработки и тестирования вам потребуется установить локальный сервер. XAMPP (для Windows) или MAMP (для Mac) – отличные варианты для создания безопасной среды без необходимости в веб-хостинге.

Рекомендации по разработке

  1. Структура базы данных: создайте таблицы для задач и подзадач с такими полями, как ID, название, описание, оплата, срок, и т.п. Используйте JSON для хранения пользовательских атрибутов в одном из полей.

  2. API и взаимодействие: разработайте RESTful API, которое позволит взаимодействовать между клиентскими интерфейсами и серверной частью, обеспечивая гибкость и расширяемость.

  3. UI/UX Дизайн: используйте библиотеки JavaScript для реализации драг-н-дроп интерфейса (например, jQuery UI или sortable.js).

  4. Тестирование и деплой: выполните тестирование всех функциональных возможностей, а также убедитесь, что приложение работает на различных устройствах и браузерах.

Заключение

Предложенное решение представляет собой гибкую и мощную платформу для управления домашними заданиями и может быть адаптировано в соответствии с вашими требованиями. Начните с существующих проектов на GitHub, адаптируйте архитектуру базы данных, разработайте пользовательский интерфейс и погружайтесь в увлекательный процесс полного кастомизирования вашего приложения. Удачи в разработке!

Оцените материал
Добавить комментарий

Капча загружается...