How alanf-oliveira/linketinder works
Linketinder is a recruitment application with two distinct implementations: a Groovy terminal backend and a TypeScript browser SPA. The user workflow is to choose a candidate or company area, register or browse profiles and vacancies, and view candidate competency summaries. The frontend uses seeded in-memory data and does not communicate with the backend. Backend persistence through JDBC/PostgreSQL and its service/menu structure are documented in the README; individual backend call paths were not sampled, so those links reflect only documented responsibilities.
Main entry points: main.ts SPA Entry · home.ts Profile Home · areaEmpresa.ts Company Area · cadastrarCandidato.ts Candidate Signup
Components 27
Browser SPA
- SPA Entry
frontend/src/main.ts - Profile Home
frontend/src/views/home.ts - Candidate Signup
frontend/src/views/cadastrarCandidato.ts - Company Signup
frontend/src/views/cadastrarEmpresa.ts - Candidate Area
frontend/src/views/areaCandidato.ts - Company Area
frontend/src/views/areaEmpresa.ts - Candidate Listing
frontend/src/views/listarCandidatos.ts - Vacancy Screens
frontend/src/views/listarVagas.ts - Vacancy Signup
frontend/src/views/cadastrarVaga.ts - Competency Chart
frontend/src/views/graficoCompetencias.ts
Recruitment Data
- Candidate Service
frontend/src/services/CandidatoService.ts - Company Service
frontend/src/services/EmpresaService.ts - Vacancy Service
frontend/src/services/VagaService.ts - Chart Aggregation
frontend/src/services/GraficoService.ts - Candidate Seed Data
frontend/src/data/candidatos.ts - Company Seed Data
frontend/src/data/empresas.ts - Vacancy Seed Data
frontend/src/data/vagas.ts - Candidate Model
frontend/src/models/Candidato.ts
Groovy Backend
- Backend Entry
src/main/groovy/org/alan/Main.groovy - Entity Menus
src/main/groovy/org/alan/terminal - Backend Services
src/main/groovy/org/alan/service - Domain Models
src/main/groovy/org/alan/model
Database
- JDBC CRUD
src/main/groovy/org/alan/database/BancoDeDados.groovy - SQL Schema
src/main/groovy/org/alan/database/linketinder.sql
Other components
- User
- Terminal User
- PostgreSQL
Connections 32
- User → SPA Entry: opens
- SPA Entry → Profile Home: renders
- SPA Entry → Candidate Seed Data: loads
- SPA Entry → Company Seed Data: loads
- SPA Entry → Vacancy Seed Data: loads
- SPA Entry → Candidate Service: creates
- SPA Entry → Company Service: creates
- SPA Entry → Vacancy Service: creates
- Profile Home → Candidate Signup: opens
- Profile Home → Company Signup: opens
- Profile Home → Vacancy Screens: opens
- Candidate Signup → Candidate Service: saves
- Candidate Signup → Candidate Area: returns
- Company Signup → Company Service: saves
- Company Signup → Company Area: returns
- Candidate Area → Candidate Listing: opens
- Company Area → Candidate Listing: opens
- Company Area → Vacancy Signup: opens
- Company Area → Competency Chart: opens
- Candidate Service → Candidate Model: manages
- Company Service → Company Seed Data: manages
- Vacancy Screens → Vacancy Service: lists
- Vacancy Signup → Vacancy Service: creates
- Competency Chart → Chart Aggregation: counts
- Chart Aggregation → Candidate Model: reads
- Terminal User → Backend Entry: runs
- Backend Entry → Entity Menus: dispatches
- Entity Menus → Backend Services: uses
- Backend Services → Domain Models: manages
- Backend Services → JDBC CRUD: persists via
- JDBC CRUD → PostgreSQL: reads/writes
- JDBC CRUD → SQL Schema: uses schema