How luan-pascoal/matchmarcha works
MatchMarcha is a marketplace for finding driving instructors, managing lesson requests and vehicles, and communicating through chat. The main user journey runs from the React app’s routed pages to the PHP API, where domain controllers validate and handle requests; selected workflows persist data and send realtime notifications. The graph also preserves account, instructor, vehicle, and password-recovery capabilities. Evidence is limited to the README title, tree, source index, and sampled excerpts, so uncertain endpoint-to-controller and model relationships are omitted.
Main entry points: App.jsx Application routes · index.php HTTP API · Contato.php Contact data access · MensagemController.php Message operations
Components 27
Web application
- Application routes
web/src/App.jsx - Shared layout
web/src/components/layout/AppLayout.jsx - Instructor discovery
web/src/pages/Home/HomePage.jsx - Learner signup
web/src/pages/CadastroAluno/CadastroAluno.jsx - Instructor signup
web/src/pages/CadastroInstrutor/CadastroInstrutor.jsx - Profile editing
web/src/pages/EditarPerfil/EditarPerfilInstrutor.jsx - Lesson requests
web/src/pages/MinhasSolicitacoes/MinhasSolicitacoes.jsx - Vehicle management
web/src/pages/MeusVeiculos/MeusVeiculos.jsx - Chat interface
web/src/pages/Chat/Chat.jsx - Login
web/src/pages/Login/Login.jsx - Password recovery
web/src/pages/EsqueciSenha/EsqueciSenha.jsx - Reset password
web/src/pages/NovaSenha/NovaSenha.jsx
API and domain
- HTTP API
api/index.php - Instructor operations
app/controllers/InstrutorController.php - Account operations
app/controllers/UsuarioController.php - Request operations
app/controllers/SolicitacaoController.php - Vehicle operations
app/controllers/VeiculoController.php - Recovery email flow
app/controllers/EsqueciSenhaController.php - Password reset flow
app/controllers/NovaSenhaController.php
Messaging and realtime
- Message operations
app/controllers/MensagemController.php - Contact operations
app/controllers/ContatoController.php - Realtime publisher
app/core/PusherService.php - Realtime client
web/src/services/pusher.js - Contact data access
app/models/Contato.php
Runtime infrastructure
- Relational database
app/core/Database.php - Email transport
app/core/phpmailer/src/PHPMailer.php
Other components
- User
Connections 26
- User → Application routes: uses
web/src/App.jsx - Application routes → Instructor discovery: routes to
web/src/App.jsx - Application routes → Learner signup: routes to
web/src/App.jsx - Application routes → Instructor signup: routes to
web/src/App.jsx - Application routes → Profile editing: routes to
web/src/App.jsx - Application routes → Lesson requests: routes to
web/src/App.jsx - Application routes → Vehicle management: routes to
web/src/App.jsx - Application routes → Chat interface: routes to
web/src/App.jsx - Application routes → Login: routes to
web/src/App.jsx - Application routes → Password recovery: routes to
web/src/App.jsx - Application routes → Reset password: routes to
web/src/App.jsx - Shared layout → User: presents interface
web/src/components/layout/AppLayout.jsx - Application routes → HTTP API: fetches vehicles
web/src/App.jsx - HTTP API → Account operations: routes requests
api/index.php - HTTP API → Instructor operations: routes requests
api/index.php - HTTP API → Recovery email flow: routes requests
api/index.php - HTTP API → Password reset flow: routes requests
api/index.php - HTTP API → Request operations: routes requests
api/index.php - HTTP API → Vehicle operations: routes requests
api/index.php - Message operations → Realtime publisher: publishes events
app/controllers/MensagemController.php - Request operations → Realtime publisher: publishes events
app/controllers/SolicitacaoController.php - Chat interface → Realtime client: subscribes through
web/src/pages/Chat/Chat.jsx - Contact operations → Contact data access: uses contact data
app/controllers/ContatoController.php - Message operations → Contact data access: checks contact
app/controllers/MensagemController.php - Contact data access → Relational database: queries
app/models/Contato.php - Recovery email flow → Email transport: sends recovery mail
app/controllers/EsqueciSenhaController.php