MCPcopy Index your code
hub / github.com/dedevpradev/faladev

github.com/dedevpradev/faladev @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
249 symbols 624 edges 103 files 11 documented · 4%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Plataforma para gestão de mentorias

Este projeto é uma aplicação open source feita em Go no backend e React no frontend, inicialmente integrada aos serviços do Google Calendar e Gmail, base para discutirmos boas práticas, conceitos e fundamentos.

Pré-requisitos

  • Conta no Google (necessária para criação do aplicativo que iremos utilizar para integração com Google Calendar e Gmail)
  • Docker instalado

Instalação

  1. Clone o Repositório:

bash git clone https://github.com/dedevpradev/faladev.git cd faladev

  1. Configurar Credenciais do Google Console:

Para que a aplicação possa acessar o Google Calendar e enviar emails, você precisa configurar as credenciais no Google Console:

Acesse o Google Cloud Console: Google Cloud Console

Crie um Novo Projeto:

  • Vá para o painel do Google Cloud Console.
  • Clique em "Select a Project" e depois em "New Project".
  • Dê um nome ao seu projeto e clique em "Create".

Habilite as APIs Necessárias:

  • Vá para "API & Services" > "Library".
  • Pesquise e habilite a API do Google Calendar.
  • Pesquise e habilite a API do Gmail.

Configure a Tela de Consentimento OAuth:

  • Vá para "API & Services" > "OAuth consent screen".
  • Escolha "External" e clique em "Create".
  • Preencha as informações necessárias, como nome do aplicativo e email de suporte.
  • Adicione o escopo .../auth/calendar para acesso ao Google Calendar e .../auth/gmail.send para enviar emails.
  • Salve as alterações.

Crie Credenciais OAuth 2.0:

  • Vá para "API & Services" > "Credentials".
  • Clique em "Create Credentials" e selecione "ID do cliente OAuth".
  • Quando solicitado, adicione os URIs de redirecionamento autorizados. Exemplo: http://localhost:8080/callback
  • Salve as credenciais e anote o Client ID e Client Secret.

  • Configurar Variáveis de Ambiente:

Crie um arquivo .env no diretório ./backend e adicione as seguintes variáveis, incluindo suas credenciais do Google:

env GOOGLE_REDIRECT_URL=http://localhost:8080/callback GOOGLE_CLIENT_ID=seu-client-id GOOGLE_CLIENT_SECRET=seu-client-secret

Instruções para executar a aplicação utilizando Docker Compose

Para iniciar a aplicação, execute o comando:

bash docker-compose up -d

Para parar e remover contêineres, redes, volumes e imagens usadas pelo docker compose, execute o comando:

bash docker-compose down --rmi all

Para limpar caches e configurações locais, você pode remover os arquivos de configuração e imagens desnecessárias:

bash docker system prune -a --volumes

Como Usar

Para acessar a aplicação:

bash http://localhost:3000

URL da API:

bash http://localhost:8080

Para acessar o Jaeger:

bash http://localhost:16686/

Para acessar o pgAdmin:

bash http://localhost:5050/

Para acessar a documentação swagger:

bash http://localhost:8080/swagger/index.html

Extension points exported contracts — how you extend this code

EventsListCall (Interface)
(no doc) [6 implementers]
backend/internal/services/calendar_service.go
IUserService (Interface)
(no doc) [2 implementers]
frontend/src/services/User/User.service.ts
EventCall (Interface)
(no doc) [6 implementers]
backend/internal/services/calendar_service.go
HttpClient (Interface)
(no doc) [1 implementers]
frontend/src/infra/http/HttpClient.types.ts
EventRepository (Interface)
(no doc) [2 implementers]
backend/internal/services/event_service.go
IMentoringAgendaService (Interface)
(no doc) [1 implementers]
frontend/src/services/MentoringAgenda/MentoringAgenda.service.ts
StudentRepository (Interface)
(no doc) [2 implementers]
backend/internal/services/student_service.go
ButtonWhiteBlackProps (Interface)
(no doc)
frontend/src/components/Buttons/ButtonWhiteBlack/index.tsx

Core symbols most depended-on inside this repo

cn
called by 16
frontend/src/lib/utils.ts
c
called by 15
frontend/cypress/e2e/coverage/prettify.js
i
called by 11
frontend/cypress/e2e/coverage/prettify.js
Do
called by 10
backend/internal/services/calendar_service.go
useMentoringModel
called by 6
frontend/src/app/(mentoring)/mentoring.model.ts
changeInput
called by 6
frontend/src/tests/changeInput.tsx
renderView
called by 5
frontend/src/tests/renderView.tsx
renderWithQueryClient
called by 5
frontend/src/tests/renderWithQueryClient.tsx

Shape

Function 103
Method 95
Struct 24
Interface 16
Class 10
Enum 1

Languages

Go56%
TypeScript44%

Modules by API surface

backend/internal/services/calendar_service.go27 symbols
frontend/cypress/e2e/coverage/prettify.js23 symbols
backend/pkg/http/http.go18 symbols
backend/internal/services/event_service.go17 symbols
frontend/cypress/e2e/coverage/sorter.js15 symbols
frontend/cypress/e2e/Mentoring/MentotingPage.ts11 symbols
backend/tests/google_calendar_service_mocks.go9 symbols
backend/internal/repository/event_repository.go9 symbols
backend/internal/services/token_service.go8 symbols
backend/internal/services/google_calendar_service.go6 symbols
frontend/src/services/User/User.service.ts5 symbols
frontend/src/services/MentoringAgenda/MentoringAgenda.service.ts5 symbols

Datastores touched

faladevDatabase · 1 repos

For agents

$ claude mcp add faladev \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact