GithubHelp home page GithubHelp logo

rafaelfagundes / bukk Goto Github PK

View Code? Open in Web Editor NEW
0.0 0.0 0.0 18.35 MB

Bukk Agendador

Dockerfile 0.03% JavaScript 92.69% HTML 4.99% CSS 2.29%
react node styled-components mongodb mongoose cloudinary lodash express mailgun jsonwebtoken

bukk's Introduction

Bukk - Booking System

Bukk is a beautician booking system designed to simplify the process of scheduling appointments with beauticians. It provides a user-friendly interface for customers to browse and book various beauty services conveniently. This repository contains the source code and documentation for the Bukk Beautician Booking System.

Features

  • User Registration and Authentication: Customers can create an account and log in to the system.
  • Beautician Profiles: Beauticians can create and manage their profiles, showcasing their expertise, services, and availability.
  • Service Listings: Customers can view a wide range of beauty services offered by different beauticians.
  • Booking Management: Customers can book appointments with their preferred beauticians and manage their bookings.
  • Notifications: Both customers and beauticians receive timely notifications for booking confirmations, reminders, and cancellations.
  • Ratings and Reviews: Customers can provide ratings and reviews for the beauticians and their services.

bukk's People

Contributors

rafaelfagundes avatar

bukk's Issues

Opção de somente um funcionário

O sistema deve ter a opção de possuir um único usuário (plano mais básico).
O administrador e funcionário deve possuir o mesmo usuário.

Checklist:

  • (Booker) não mostrar escolha de funcionários
  • (Dashboard) não mostrar nas configurações da empresa a aba funcionários
  • (Dashboard) não mostrar funcionário na tela de adição de agendamento
  • (Dashboard) o usuário mesmo sendo também funcionário, é administrador, portanto checar se ele possui todas as permissões

Salvar imagem no BD

Salvar no schema Image os dados da imagem na Cloudinary, permitindo remover imagens desnecessárias quando não mais usadas. Buscar a imagem. Além de ter maior controle de quem é o responsável pela inserção da imagem.

  • Fazer um endpoint para remover a imagem.
  • Fazer um endpoint para retornar a imagem.

Mudança no Schema Appointment

O valor (R$) do agendamento deve ser salvo no documento Appointment.
Deve-se fazer isto, pois ao atualizar os preços no Schema Service, as estatísticas também se atualizam.

Ex: o valor antes era 30, agora é 35.
Se foram feitos 2 agendamentos, o total certo recebido seria 60.
Mas buscando o preço no Schema Service o total vai ser 70

Atribuir funcionários pelo dashboard

Sistema deve permitir não escolher nenhum especialista no Booker, e o administradores do sistema atribuir.

OBS.: a lógica deve ser adaptada pois não pode mais checar se há agendamentos em uma data, salvo se todos os funcionários estiverem ocupados

Componente de Alerta/Notificação/Lembrete

Um componente cron que envia notificações, lembretes, promoções, cobranças, etc.

  • Base
  • Lógica de gatilho
  • Schema de notificações
  • User Lembrete de agendamento (email + SMS)
  • User Sugestão Lembrete de fazer avaliação do agendamento
  • Admin Lembrete de mudança de status após data passada
  • Admin Lembrança de cobrança de clientes que ainda não pagaram
  • Admin Lembrete dos agendamentos do dia
  • Admin Lembrete de aniversariantes do dia
  • Admin Sugestão Finanças do mês

Interface e API para Componente de Clientes

  • Interface e API para Componente de Clientes
    • Lista de clientes
      • Pesquisar
      • Paginação
      • Remover Cliente via Lista
    • View do Cliente
      • Informações básicas
      • Tags
      • Anotações
      • Agendamentos do cliente
    • Edit do Cliente
      • Informações básicas
        • Validation
      • Tags
      • Anotações
      • Agendamentos do cliente
    • Adicionar Cliente
      • Validation
      • Tags
      • Refresh na lista

Tema do Sistema

Atualmente o tema personalizado de cada empresa é obtido por meio de uma chamada a API que retorna um CSS que sobrescreve as classes na base da gambiarra com !important.

Tanto no Booker, quanto em algumas partes do Dashboard.

Utilizar o componente styled-components para tornar o tema mais robusto, melhorar a performance e a manutenção.

Email

Checklist de emails a serem feitos:

  • Usuário

    • Confirmação
    • Ao criar novo funcionário
    • Ao cadastrar nova empresa
    • Ao cancelar um agendamento via dashboard
    • Ao alterar data/horário do agendamento
    • Lembrete de agendamento (1 dia antes, 2 dias antes ?)
    • Redefinição de senha
  • Admin / Funcionário

    • Lembrete de agendamentos a receber
    • Agendamentos do dia/semana/mês
    • Agendamentos passados sem mudança de status
    • Relatório financeiro do mês

Tabelas

Manter a consistencia entre todas as tabelas do sistema.
Usar <Table fixed singleLine striped compact> sempre que possível.
Pois este código limita o tamanho da célula, e o texto que extrapola é substituido por ...

Botões de ação na direita <Table.Cell textAlign="right"> e sem cabeçalho na coluna.

Opção de confirmar manualmente ou automaticamente agendamento

O sistema deve permitir que o usuário (administrador) escolha se os agendamento são confirmados automaticamente ou manualmente pela interface.

Tarefas

  • Adicionar preferências na interface (Dashboard).
  • Modificar função que adiciona novo agendamento a partir da interface externa (Booker).
  • Em caso de confirmação manual, enviar um email para usuário informando sobre a necessidade de confirmação por meio da empresa.
  • Em caso de confirmação automática mandar email de confirmação (já disponível).
  • Em caso de confirmação manual, disparar email (já feito) a partir da confirmação.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.