Skip to content

Hastle.com - simple php v8.3.6. Web Application. Сайт Событий - создавать события теперь просто! Здесь есть: [Роли. сессии. админка .....]

License

Notifications You must be signed in to change notification settings

Viacheslav1998/native-sp

Repository files navigation

Hastle.com - events everyday

Simple project in PHP v8.3.6

Описание

Дока кода - вся на английском!

Здесь простой роутинг — смотри файл composer.json для большего понимания и загружаемых модулей.

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

запуск и установка приложения

используем docker

0.1) проверь есть ли у тебя докер

sudo

  1. docker compose run --rm composer install - выполнение всего

  2. npm i - установка пакетов

  3. (если у тебя linux) Находясь в корне репозитория: sudo chmod +x init.sh

  4. запуск докер контейнеров docker compose up -d --build

  5. docker compose exec db bash - импортировать дамп в ручную(один раз)

внутри контейнера - пиши это mysql -u root -proot hastle < /docker-entrypoint-initdb.d/db_backup.sql exit

  1. проверка - docker compose exec db mysql -u root -proot

USE hastle;

SHOW TABLES;

SELECT * FROM users LIMIT 5;

====

  1. ну если нужно остановить все контейнеры docker compose down

  2. очистка бд - если нужно пересоздать дамп docker compose down -v

Миграции

Файл, контролирующий миграции, находится в директории Core. Он создаёт таблицу, которая следит за миграциями и создаёт таблицы, если их нет.

За таблицу миграций отвечает метод createMigrationTable(). Всё остальное, я думаю, интуитивно понятно.

Для создания таблиц посмотри в routes.php стоку 'db/generate' выполни его и готово

ТЕСТЫ

Мне было лень создавать отдельные классы для тестирования поскольку проект не большой, я решил нецелесообразно делать много всяких тестКонтроллеров.(и все ровно сделал XD)

Примечания

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

Как расширять проект:

слишком просто что бы расширять - потому MVC архитектура

  1. У нас есть Контроллер в него мы передаем туда данные с хелперами пользуясь какими то http протоколами

  2. У нас есть ресурс\модель - там мы делегируем разные задачи, хелпер валидации, хелпер по работе с изображением (TestResource) Также там есть проверки ответы [json] и исключения Там также вызываются сервисы.

  3. Сервисы работаю с манипуляциями данных, запись или получению данных к примеру.

Заполнения данными

Здесь есть сиды для заполненя бд данными. команда: php cli/seed.php --count=100000 создать нужное колличество данных

выполнить backup

находясь в директории App выполни cli command php /bin/backup.php

Пример (еще как видите пилится) сайта

Hastle.com

About

Hastle.com - simple php v8.3.6. Web Application. Сайт Событий - создавать события теперь просто! Здесь есть: [Роли. сессии. админка .....]

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published