How augustosodre/linketinder works
Linketinder is a candidate–company matching project with two currently separate runtime surfaces: a TypeScript SPA and a Groovy backend offering both a CLI and documented HTTP API. In the SPA, users register or log in against browser-stored candidate and company lists, then view profiles and candidate/job listings. The backend supports candidate, company, vacancy, and skill CRUD through its service/DAO layers and SQL storage. The README documents these backend capabilities, but the supplied excerpts do not establish individual controller-to-service calls; the frontend is explicitly not integrated with the backend.
Main entry points: formHandler.ts Form handling · main.ts SPA startup · lists.ts Browser lists · dao Domain DAOs
Components 22
Web SPA
- SPA startup
frontend/src/main.ts - Page router
frontend/src/router.ts - Page rendering
frontend/src/pages - Registration forms
frontend/src/components/form-cadastro.ts - Form handling
frontend/src/handlers/formHandler.ts - Validation chain
frontend/src/validators/chain - Candidate, company, vacancy
frontend/src/models - Profiles and listings
frontend/src/helpers/homeHelper.ts - Browser lists
frontend/src/storage/lists.ts
Groovy backend
- CLI entry and menus
backend/src/main/groovy/com/augusto/linketinder/App.groovy - CLI controllers
backend/src/main/groovy/com/augusto/linketinder/control - HTTP server
backend/src/main/groovy/com/augusto/linketinder/Server.groovy - REST handlers
backend/src/main/groovy/com/augusto/linketinder/API - Domain services
backend/src/main/groovy/com/augusto/linketinder/service - Domain models
backend/src/main/groovy/com/augusto/linketinder/model - Domain DAOs
backend/src/main/groovy/com/augusto/linketinder/dao
Persistence
- Connection providers
backend/src/main/groovy/com/augusto/linketinder/dao/connectionProvider - Relational schema
database/scriptEstruturaBasica.sql
Other components
- Candidate or company
- localStorage
- CLI user
- HTTP client
Connections 24
- Candidate or company → SPA startup: opens
- SPA startup → Browser lists: loads saved lists
- SPA startup → Page router: starts
- Page router → Page rendering: selects page
- Candidate or company → Registration forms: enters registration
- Registration forms → Form handling: registers listeners
- Form handling → Validation chain: validates fields
- Form handling → Candidate, company, vacancy: creates records
- Form handling → Browser lists: adds records
- Browser lists → localStorage: persists lists
- localStorage → SPA startup: restores lists
- Page rendering → Profiles and listings: renders home
- Profiles and listings → Browser lists: reads lists
- Candidate or company → CLI entry and menus: uses CLI
- CLI entry and menus → CLI controllers: starts menu flow
- CLI user → CLI controllers: uses CLI
- HTTP client → HTTP server: sends requests
- HTTP server → REST handlers: dispatches requests
- CLI controllers → Domain services: uses services
- REST handlers → Domain services: uses services
- Domain services → Domain DAOs: accesses data
- Domain DAOs → Domain models: maps records
- Domain DAOs → Connection providers: gets connections
- Connection providers → Relational schema: connects to