⚠️ Projeto ainda em construção! Você pode clicar aqui e ir para a branch de desenvolvimento⚠️
Segundo case do programa Mind Coding Experience(MCE), que está oferecido pela Mind Consulting em parceria com a fintech Provi, com o intuito de evoluir as habilidades técnicas participando de projetos e recebendo acompanhamento de profissionais do mercado.
- Server-Side-Rendering com Next.js/React.js,
- Static Site Generation com Next.js/React.js,
- React-icons(Font Awesome e Feather Icons),
- StorybookJS(Design de componentes e props),
- Cloudinary CMS(Gerenciamento e armazenamento de mídia),
- FaunaDB(banco de dados serveless),
- Next-auth(hooks de autenticação),
- Axios(api),
- SCSS(SASS),
- Typescript.
- Front-end web: Página - Repositório
- UI/Design/ReactComponents: Storybook/Chromatic
- Processo(Kanban/Sprint): MVP
- Protótipo: Figma
P.S: Estatísticas do que foi feito, cumprido ou alterado durante o desenvolvimento do projeto está disponível em stats.md
Será desenvolvido um sistema para agendamentos de horários para personal trainers. A plataforma deve ser composta por um aplicativo e versão web, ambas com especificidades próprias e conter um CRM para controle CRUD dos clientes da plataforma. Os personal trainers podem criar sua conta e disponibilizar seus horários disponíveis, enquanto os alunos podem marcar os agendamentos pelo app.
O crud de usuários se baseia em ser possível realizar o cadastro e edição de dados referentes aos usuários.
Os dados necessários para realizar o cadastro dos usuários são:
- Nome
- Senha
- Foto
- Telefone
- Nível de acesso
Os dados necessários para realizar o cadastro dos usuários são:
- Nome
- Senha
- Foto
- Nível de acesso
O sistema de agendamento torna possível que o usuários agendem horários e que os personais verifiquem os horários que foram agendados.
Para usuários: O usuários após terem efetuado o login poderão agendar os horários, para isso deverão selecionar o dá e o horário disponível, e enfim confirmar o agendamento. Também haverá uma listagem com todos os horários que ele tem agendado.
Para os personais: Os personais poderão verificar os horários que foram agendados, através do dashboard administrativo.
Status: Reservado e Agendado É necessário deixar indicado que foi agendado o horário em especifico Os horários de trabalhos dos personais se iniciam as 8 h e finalizam as 20:00h, com uma pausa para o almoço de 1 hora ao 12:00h
O dashboard administrativo poderá ser acessado pelo personais e pelas academias. Esse permitirá a visualização e controle das informações relacionadas aos agendamentos
Os usuários poderão editar seus respectivos perfis, através do aplicativo, conseguindo alterar, seu nome, email, senha e foto
Os viveis de acesso farão a diferenciação entre os personais e alunos. Sendo que: Os alunos: Conseguirão agendar horários com os personais disponibilizadas no sistema, através do aplicativo Os personais: Poderão verificar Através do dasboard administraitvo e app, os horarários que forces agendados
O dashboard permitirá apenas o controle dos agendamentos pelo login dos personais Deve ser constituido de duas abas
- Agendamentos
- Perfil
O aplicativo permitirá os agendamentos dos usuários, e a visualização dos agendamentos por parte dos personais.
Todos os usuários cadastrados pelo APP terão nível de acesso de alunos
O sistema de notificação será necessário para toda vez que um aluno agendar oro horário, o personal que teve o horário agendado recebe uma notificação, alertando que o horário foi agendado e informações referente ao aluno que agendou.
- Agendamentos
- Perfil
- Node: v12+ com
npm
eyarn
(opcional, mas recomendado) - Linux: Ubuntu 18.04+ e, possivelmente, qualquer distro com
npm
- Windows: Falha com packages
- Mac: Falha com packages
- Primeiro, adicione as seguintes variáveis(para ser executada na máquina local):
// mce-onboarding-web/.env.local/
IS_LOCALHOST=true
NEXT_PUBLIC_VERCEL_URL=localhost:3000
NEXT_PUBLIC_BACKEND_URL= (LINK DO SERVIDOR BACKEND)
FAUNA_ADMIN_KEY= (CHAVE DO ADMIN DO BANCO DE DADOS)
FAUNADB_KEY= (CHAVE SECRETA DO NEXT PARA O FAUNA)
FAUNADB_CLIENT_KEY= (CHAVE DO USUÁRIO FINAL PARA O FAUNA)
EMAIL_SERVER= (smtp://email@email.com:asenha@smtp.email.com:587) (O SEU SERVIDOR DE EMAIL)
EMAIL_FROM=(REMETENTE DO EMAIL)
- Instale as dependências utilizando
yarn
ounpm
na pasta do repositório, - Para iniciar no modo "desenvolvimento", inicie com
yarn dev
ounpm run dev
. O Next/Webpack servirá o ambiente Next na rede local na porta3000
, - Para iniciar uma
production
, build da aplicação Next.js com node, bastayarn build
, após a build for criada, executeyarn start
para iniciar, depois disso, é só copiar o link da aplicação que aparecerá no terminal e pronto!
Sobre as chaves de acesso e variáveis de ambiente, contate-me por email
- Ou crie um banco de dados serverless pelo faunadb e adicione as chave secreta de acesso no ambiente de desenvolvimento(FAUNA_ADMIN_KEY)
- Documentação das queries, collections, indexes e permissões do banco de dados em breve.
Feito com amor para mim, minha profissão e para quem está lendo este doc, seja nos momentos de empolgação ou estresse!
Agradecimentos à PROVI por todo o suporte e motivação e a Mind Consulting pelo programa, a oportunidade dada e especialmente às mentorias! <3