Skip to content
This repository has been archived by the owner on Nov 3, 2024. It is now read-only.
/ SimpleCMS Public archive

Простая система управления контентом для сайта (Laravel 10)

License

Notifications You must be signed in to change notification settings

i-jurij/SimpleCMS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SimpleCMS
Простая система управления контентом для сайта.
Возможности:
форма заказа обратного звонка,
записи на услугу к специалисту,
страницы с описанием услуг и расценками,
отдельная страница с расценками,
страница с информацией об организации,
карта проезда,
галерея фото,
прочие страницы.
Все вышеперечисленное доступно к редактированию из админки.
Клиенты и записи вносятся в базу, очищается база автоматически раз в два года
(очистку можно отключить или изменить только в коде).
Клиент может управлять своими записями, если придумает и сохранит пароль во время записи на услугу.
При этом клиент не является пользователем приложения.
При создании мастера пользователь создается автоматически со статусом "user"
и именем по номеру телефона (+01112223344),
email - [email protected],
пароль - "password". Пароль каждый пользователь может изменить.

Возможно создавать страницы с нуля, при этом есть три возможности:
simple page "yes"- одиночная страница, без вложенных страниц, содержимое страницы хранится
в колонке "content" таблицы "pages", представление создавать не нужно,
simple page "no"- страница, для которой будут созданы контроллер, модель, представление,
к примеру "Персональные данные" - это simple page = "yes", а "Перезвоните мне" и "О нас" - simple page = 'no'.
service page "yes" - страница с услугами, создавать лучше из отдельного меню в админке, там же есть пункты
для добавления категорий услуг и самих услуг.
Но проще просто вносить изменения в имеющиеся страницы, создавая только страницы услуг и внося расценки.

Start

Directory Permissions
Laravel will need to write to the bootstrap/cache and storage directories, so you should ensure the web server process owner has permission to write to these directories.

You need to call php artisan key:generate is following a clone of a pre-created Laravel project.

Install php > 8.1.
Install sql (mysql, mariadb).
Run php and sql service.
Configure your DB in application into "app_root_dir/config/database.php": type, user, password etc.
Configure your DB user and her privilegies in phpmyadmin eg. Run terminal (console). Cd into applications root directory.
Execute in console:
composer install
npm install
php artisan storage:link Then: if you have DB dump - restore DB from dump and
php artisan serve
else
php artisan migrate
Create user with admin rights with status "admin" (in phpmyadmin eg) then
php artisan serve

For css and js load:
for development or localhostnpm run dev
for deploy npm run build then git pull on server into site root dir.

Deploy to production

php artisan optimize or
php artisan optimize:clear Then
php artisan config:cache
Detail: https://laravel.com/docs/10.x/deployment

Work

PAGES edit

/admin/page/create - creating client page:

alias - single lowcase word only letters

single_page = 'yes' - if you only need to get data from table Pages from DB and load data into default view (page_template.blade.php). single_page = 'no' - if you need to have controller and model and migration and view for page (or alias or title for menu path from db tables)

service_page = 'yes' - if you need to create page with services CRUD (resource controler) As models for service page - model Pages, model Categories, model Services As view - resources/client_manikur/client_pages/service_page.blade.php

After creating service page you can add categories and services to page. Also admin panel has items for creating and editing categories and services.

After creating the page - open files in your editor or IDE and edit. Also put route in routes/web.php.

SERVICE PAGE edit

In form service_page = yes. An entry will be created in the database.

SERVICE edit

First create the services, then the masters.

MASTERS edit

All masters must have a some service,
but if you don't need this - the ALL masters should NOT have any services.
Otherwise, in the logic of order processing errors may occur.
Logic:
if each master have at least one service - check appointments times for current master;
if masters not services - we believe that every master performs any service
and check appointments times for all masters
and if at least one master is free - client can sign up.

When masters created also user created with status "user"
with "name" - number of phone (+01112223344)
with email - number of [email protected] ([email protected])
with password - "password"

SIGN UP

Settings:

By moder of organisation:

endtime = "17:00"
Время, после которого даты начинаются с завтрашней (те запись на сегодня уже недоступна)
The time after which the dates start from tomorrow (those records are no longer available for today)

lehgth_cal = 14
Количество отображаемых дней для записи
The number of days displayed for an appointment

tz = "Europe/Simferopol"
Часовой пояс
Timezone

period = 60
Интервал времен для записи (09:00, 10:00, 11:00, ...),
мб любой, преобразуется кратно 10,, то есть 7 мин -> 10 мин, 23 мин -> 30 мин и тп
кроме промежутков > 10, но < 15 - преобразуется в 15 минутный промежуток
Time interval for an appointment, can be any, converted multiple of 10
but if 10 < $period < 15 then = 15

lunch = ["12:00", 60]
Массив c двумя значениями: время начала HH:mm и длительность обеденного перерыва в минутах
An array with two values: the start time HH:mm and the duration of the lunch break in minutes

worktime = ['09:00', '19:00']
Рабочее время $worktime[0] - начало, $worktime[1] - конец
Working time $worktime[0] - start, $worktime[1] - end

org_weekend = {'Сб': '14:00', 'Вс': ''}
Постоянно планируемые в организации выходные, ключ - название дня,
значение - пустое, если целый день выходной,
или время начала отдыха в 24часовом формате HH:mm
Weekends that are constantly planned in the organization, the key is the name of the day,
the value is empty if the whole day is off,
or the start time of the rest in the 24-hour format HH:mm

holiday = ['2023-02-23', '2023-03-08', '2023-03-17'] - праздничные дни хоть на 10 лет вперед

DATA related to a specific MASTER:

rest_day_time = {'2023-03-15': [], '2023-03-13': ['16:00', '17:00', '18:00'],'2023-03-14': ['10:00', '11:00', '14:00'] }
Запланированные выходные дни и часы мастера,
получены из рабочего графика мастера, если массив значений пуст - выходной целый день.
Значение равно началу времени отгула, длительность не указывается и будет равна $period,
те, если период = 60 минут, а отсутствовать мастер будет 2 часа после 17:00
запись такая rest_day_time = {'дата YYYY-mm-dd': ['17:00', '18:00']}

The scheduled days off and the master's hours,
are obtained from the master's work schedule, if the array of values is empty - the whole day off.
The value is equal to the beginning of the time off, the duration is not specified and will be equal to $period,
those if the period = 60 minutes, and the master will be absent 2 hours after 17:00
the entry is rest_day_time = {'date YYYY-mm-dd' => ['17:00', '18:00']}

exist_app_date_time_arr
Объект предыдущих записей к мастеру
в формате {'date': {time: 'duration', ...}, ...),
где date - datetime (часы и минуты 00:00)
а time - datetime (с ненулевым временем): 'duration' - длительность услуги в минутах,
длительность можно не указывать (null or ''), тогда она считается равной $period

Array of previous entries to the master
in the array format {'date': {time: 'duration', ...}, ...)

Screenshots:
Admin home if user status is admin:
Alt text Admin home if user status is moder:
Alt text Admin home if user status is user (usually this user is master):
Alt text
Edit users:
Alt text Alt text
Sign up settings:
Alt text
Logs:
Alt text
Contacts editing:
Alt text Alt text Alt text Alt text Alt text Alt text
Pages creating and editing:
Alt text Alt text Alt text Alt text
Service page creating and editing:
Alt text Alt text Alt text Alt text Alt text Alt text Alt text
Price editing:
Alt text Alt text
Abouts page editing:
Alt text Alt text Alt text Alt text
Gallery editing:
Alt text Alt text Alt text Alt text
Map editing:
Alt text
Masters editing:
Alt text Alt text Alt text Alt text Alt text
Signup list and editing:
Alt text Alt text Alt text Alt text Alt text Alt text Alt text Alt text Alt text
Callbacks:
Alt text Alt text
Admin home for master:
Alt text Alt text Client pages:
Alt text Alt text Alt text Alt text Alt text Alt text Alt text Alt text Alt text Alt text Alt text Alt text Alt text Alt text Alt text Alt text

About

Простая система управления контентом для сайта (Laravel 10)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published