Dr. Schedule é um Software como Serviço (SaaS) robusto e intuitivo, projetado para simplificar e otimizar o gerenciamento de consultas em clínicas médicas e consultórios.
O Dr. Schedule visa resolver a complexidade no agendamento e gerenciamento de pacientes e médicos, oferecendo uma plataforma centralizada que facilita a organização diária de uma clínica. Com ele, é possível gerenciar horários, informações de pacientes, disponibilidade médica e muito mais, tudo de forma eficiente e integrada.
Este projeto foi construído utilizando um stack moderno e eficiente:
date-fns / dayjs - Manipulação de datas.next-themes - Gerenciamento de temas (dark/light mode).drizzle-kit - Ferramenta para migrações com Drizzle.Siga estas instruções para configurar e rodar o projeto em seu ambiente local.
Clone o repositório:
bash
git clone git@github.com:Gildaciolopes/doctor-schedule.git
cd doctor-schedule
Instale as dependências:
```bash npm install
```
Configure as Variáveis de Ambiente:
.env.example para um novo arquivo chamado .env:
bash
cp .env.example .env.env com suas respectivas chaves e URLs. Veja a seção Variáveis de Ambiente para mais detalhes.Configure o Banco de Dados (Drizzle ORM):
DATABASE_URL no arquivo .env está correta e apontando para seu banco de dados PostgreSQL.bash
npx drizzle-kit generate # Para gerar os arquivos de migração (se necessário ao modificar o schema)
npx drizzle-kit migrate # Para aplicar as migrações ao banco de dados
Nota: Verifique a documentação do Drizzle para os comandos exatos de geração e aplicação de migrações (push para desenvolvimento rápido ou generate + migrate para produção). Você pode precisar de drizzle-kit studio para visualizar seu schema.
Para um setup inicial, você pode precisar de um comando como npx drizzle-kit push.Rode o servidor de desenvolvimento:
bash
npm run dev
# ou
# yarn dev
# ou
# pnpm dev
Abra http://localhost:3000 no seu navegador para ver o resultado.
As seguintes variáveis de ambiente precisam ser configuradas no seu arquivo .env para o correto funcionamento da aplicação:
# URL da sua base de dados PostgreSQL
DATABASE_URL="postgresql://USER:PASSWORD@HOST:PORT/DATABASE"
# Segredos para a autenticação com Better Auth
BETTER_AUTH_SECRET="[SEU_SEGREDO_COMPLEXO_PARA_BETTER_AUTH]"
BETTER_AUTH_URL="http://localhost:3000" # Ou a URL de produção
# Credenciais do Google OAuth para login social
GOOGLE_CLIENT_ID="[SEU_GOOGLE_CLIENT_ID]"
GOOGLE_CLIENT_SECRET="[SEU_GOOGLE_CLIENT_SECRET]"
# Chaves do Stripe
NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY="[SUA_CHAVE_PUBLICAVEL_STRIPE]"
STRIPE_SECRET_KEY="[SUA_CHAVE_SECRETA_STRIPE]"
STRIPE_ESSENTIAL_PLAN_PRICE_ID="[ID_DO_PRECO_DO_PLANO_ESSENCIAL_NO_STRIPE]"
STRIPE_WEBHOOK_SECRET="[SEU_WEBHOOK]" # Use `npm run stripe:listen:dev` para obter um durante o desenvolvimento
NEXT_PUBLIC_STRIPE_CUSTOMER_PORTAL_URL="[URL_DO_SEU_PORTAL_DO_CLIENTE_STRIPE]"
# URL pública da sua aplicação
NEXT_PUBLIC_APP_URL="http://localhost:3000" # Ou a URL de produção
Importante: Nunca exponha suas chaves secretas e credenciais em repositórios públicos. O arquivo .env deve ser incluído no seu .gitignore.
Após a instalação e configuração completa:
http://localhost:3000).Para testar a integração com Stripe em desenvolvimento, você pode usar o comando:
npm run stripe:listen:dev
Isso irá encaminhar os webhooks do Stripe para sua aplicação local.
Contribuições são o que fazem a comunidade open source um lugar incrível para aprender, inspirar e criar. Qualquer contribuição que você fizer será muito bem-vinda.
Se você tem alguma sugestão para melhorar este projeto, por favor, faça um fork do repositório e crie um pull request. Você também pode simplesmente abrir uma issue com a tag "enhancement". Não se esqueça de dar uma estrela ao projeto! Obrigado novamente! ⭐
https://github.com/Gildaciolopes/doctor-schedule/fork)git checkout -b feature/AmazingFeature)git add .)git commit -m 'Add some AmazingFeature')git push origin feature/AmazingFeature)As Pull Requests serão revisadas e, se alinhadas com os objetivos do projeto, poderão ser incorporadas.
Gildácio Lopes - contato.gildaciolopes@gmail.com
Deploy do projeto: https://doctor-schedule-oz7u.vercel.app
$ claude mcp add doctor-schedule \
-- python -m otcore.mcp_server <graph>