How obsonferreira/js-agenda works
Agenda is a browser-based contact manager: users create and validate contacts, then browse, search, edit, or delete them. The main flow runs from the cadastro form through shared form processing and validation to the agenda service and repository, which keeps the contact list in localStorage. The agenda page reads and displays stored contacts and provides editing and deletion interactions. The README also mentions pagination and sorting, but the sampled source does not establish their implementation or wiring; the infrastructure database work is explicitly described as in development.
Main entry points: agendaEventos.js Agenda events · agendaService.js Agenda service · formulario.js Shared forms · agendaRepositorio.js Agenda repository
Components 17
User interface
- Cadastro page
index.html - Agenda page
paginas/agenda.html - Cadastro events
src/interface/cadastro/cadastroEventos.js - Agenda events
src/interface/agenda/agendaEventos.js - Shared forms
src/interface/compartilhado/formulario.js - Agenda table
src/interface/agenda/agendaTabela.js - Agenda form
src/interface/agenda/agendaFormulario.js - Dialogs
src/interface/compartilhado/dialog.js
Application flow
- Agenda service
src/servicos/agendaService.js
Contact domain
- Contact validators
src/validadores/validaPessoa.js - Duplicate check
src/validadores/validaDuplicidade.js - Contact model
src/modelos/contato.js - Person model
src/modelos/pessoa.js - Agenda collection
src/modelos/agenda.js
Contact storage
- Agenda repository
src/repositorio/agendaRepositorio.js - Browser localStorage
Other components
- User
Connections 19
- User → Cadastro page: opens
- User → Agenda page: opens
- Cadastro page → Cadastro events: loads
- Agenda page → Agenda events: loads
- Cadastro events → Shared forms: processes form
- Cadastro events → Dialogs: shows result
- Shared forms → Contact model: creates
- Shared forms → Contact validators: validates
- Shared forms → Agenda service: checks duplicates
- Agenda service → Duplicate check: checks duplicates
- Agenda service → Agenda repository: saves or edits
- Agenda service → Contact model: creates
- Agenda service → Person model: creates
- Agenda events → Agenda repository: lists, searches, deletes
- Agenda events → Agenda table: renders contacts
- Agenda events → Agenda form: handles edits
- Agenda events → Dialogs: shows prompts
- Agenda repository → Agenda collection: updates collection
- Agenda repository → Browser localStorage: loads and saves