Este é um sistema de agendamento online desenvolvido para facilitar o trabalho de agendamentos, permitindo que clientes agendem serviços de forma prática e intuitiva. O sistema foi desenvolvido em Laravel 11 e utiliza Blade para a interface do usuário, além de Docker para o ambiente de desenvolvimento.
JuliaBraids: white labels do sistema de agendamento online, com o objetivo de facilitar o agendamento de serviços de tranças e penteados. O sistema é personalizável e pode ser adaptado para diferentes tipos de negócios.
AfroEstima: white labels do sistema de agendamento online, com o objetivo de facilitar o agendamento de serviços de cortes e penteados. O sistema é personalizável e pode ser adaptado para diferentes tipos de negócios.
- Laravel: Framework PHP na versão 10.x para a infraestrutura do e-commerce.
- PHP: Linguagem de programação na versão 8.2.
- Blade: Template engine para criar views.
- Docker: Para containerização e gerenciamento do ambiente de desenvolvimento.
- Redis: Para caching e gerenciamento de sessões.
- MySQL: Banco de dados relacional.
- Webhook: Para envio de lembretes e integração com WhatsApp.
- Tenancy: Para suporte a múltiplos locatários. (Andamento)
-
Agendamento online: Seu cliente faz o agendamento pelo site sem que você precise fazer nada.
-
Agenda: Gerencie sua agenda de forma fácil e rápida quando e onde estiver.
-
Lembretes automatizados: Reduza o índice de faltas de última hora em até 70% com os lembretes por e-mail e SMS.
-
Cadastro de clientes: Todas as informações dos seus clientes em um só local, fácil e seguro.
-
Relatórios analíticos: Análise de desempenho financeiro e gerenciamento de agendamentos.
-
Controle financeiro: Completo, fácil de usar e otimizado para facilitar o seu trabalho.
-
Gerenciamento de Serviços: Cadastro de serviços e produtos relacionados.
- Opção de pagamento direto na plataforma ou na hora do agendamento.
- Sistema de promoções e criação de cupons.
-
Clone o Repositório:
git clone https://github.com/alncris2/agendamento.git cd agendamento -
Inicie o Ambiente com Sail:
./vendor/bin/sail up -d
-
Acesse o Contêiner Principal:
./vendor/bin/sail shell
-
Instale as Dependências:
Dentro do contêiner:
composer install && npm install --no-package-lock && npm run dev
-
Configure o Laravel:
Dentro do contêiner:
php artisan key:generate && php artisan migrate --seed -
Atualize as Rotas do Front-end:
Dentro do contêiner:
php artisan ziggy:generate
-
Permissões para o Script do Xdebug (Executar na Máquina HOST):
chmod +x docker/xdebug/xdebug.sh
-
Clone o Repositório:
git clone https://github.com/alncris2/agendamento.git cd agendamento -
Instale as Dependências do Laravel:
composer install
-
Instale as Dependências do Front-end e Inicie o Servidor:
npm install && npm run dev -
Copie e Configure o Arquivo de Ambiente:
cp .env.example .env
-
Gere a Chave do Aplicativo:
php artisan key:generate
-
Execute as Migrações e Inicie o Servidor:
php artisan migrate && php artisan serve -
Atualize as Rotas do Front-end:
php artisan ziggy:generate
Para contribuir com o projeto, siga estas diretrizes:
-
Crie uma Branch para sua Feature ou Correção:
git checkout -b nome-da-sua-branch
-
Faça Commit das suas Alterações:
git add . git commit -m "Descrição das mudanças"
-
Envie sua Branch para o Repositório:
git push origin nome-da-sua-branch
-
Abra um Pull Request
- Use uma indentação de 4 espaços em vez de tabulação.
- Adote uma convenção de nomenclatura consistente para classes, variáveis e métodos.
- Evite copiar código de projetos anteriores.
- Visualização (Português):
localhost:8005/produto/cadastrar - Requisição (Inglês):
localhost:8005/ProductController/create
- Constantes: LETRAS_MAISCULAS_SEPARADAS_POR_UNDERSCORE
- Controladores: PascalCase com sufixo 'Controller', ex.
UserController - Tabelas: snake_case e plural, ex.
users,products - Colunas: snake_case, ex.
id,title
- CamelCase:
$completedOrders,$pendingOrders
- PascalCase e Singular:
User,Order
- camelCase:
get(),getAll()
- kebab-case: IDs e classes, ex.
#user-id,.button-primary
No arquivo main.blade.php:
@if (isset($styles) && is_array($styles) && count($styles) > 0)
@foreach ($styles as $style)
<link href="{{ $style }}" rel="stylesheet" type="text/css" />
@endforeach
@endif
@if (isset($scripts) && is_array($scripts) && count($scripts) > 0)
@foreach ($scripts as $script)
<script src="{{ $script }}"></script>
@endforeach
@endifNo controlador:
$data = [
'styles' => ['/css/pages/UserPage.css'],
'scripts' => ['/js/pages/UserPage.js'],
'user' => $user,
];
return view('user', $data);|
Alan Cristian Silva |