To-do list со всеми основными возможностями: создание, редактирование, удаление, создание подзадач и изменение порядка задач.
- PHP 8.2
- Composer
- Node.js & npm
- MySQL
Если вы хотите использовать Docker Compose:
- Клонируйте репозиторий:
git clone https://github.com/gyrovbogdan/to-do.git
- Перейдите в директорию проекта:
cd to-do
- Запустите контейнеры:
docker-compose up -d
- Скопируйте файл
.env.example
в.env
:cp .env.example .env
- Установите зависимости, и настройте Laravel с помощью скрипта run.sh:
docker exec my_dict_app bash ./to-do/docker/run.sh
Сайт будет доступен по адресу
https://localhost:8080
Для обычной установки следуйте следующей инструкции:
-
Клонируйте репозиторий:
git clone https://github.com/gyrovbogdan/to-do.git
-
Перейдите в директорию проекта:
cd to-do
-
Установите зависимости PHP с помощью Composer:
composer install
-
Установите зависимости JavaScript с помощью npm:
npm install
-
Скопируйте файл
.env.example
в.env
и настройте его:cp .env.example .env
-
Сгенерируйте ключ приложения:
php artisan key:generate
-
Настройте базу данных и выполните миграции:
php artisan migrate
-
Запустите сервер разработки:
php artisan serve
После установки и запуска приложения перейдите по адресу https://localhost:8000
в вашем браузере. Вы сможете увидеть главную страницу приложения, где отображется список задач для пользователя.
- User — Пользователь, который имеет личный список дел.
- Task — Задача, имеет поля для описания: title, description и т.д. Задача поле parent_id, которое указывает на задачу родителя, таким образом образуя дерево задач. Если поле parent_id равно NULL, то значит задача корневая.
- TaskController — Контроллер для CRUD операций над задачами.
- HomeController — Контроллер для отображения домашней страницы
- EventManager — Менеджер событый, главный класс, который отвечает за обработку событий и связывает между собой Api и DisplayManager.
- DisplayManager — Meнеджер отображения, этот класс отвечает за создание и отображение задач.
- Api — Класс, отвечающий за отправку ajax запросов.
- TaskTemplates — Шаблоны задач, вспомогательный класс, который содержит шаблоны для отображения html кода задач, форм и т.д.
- Laravel 11
- jQuery 3.7
- MySQL 8.4
- Bootstrap 5
Если у вас есть вопросы или предложения, пожалуйста, свяжитесь со мной по адресу [email protected].