Sistema web que visa facilitar e automatizar a experiência do usuário no uso do metrô de São Paulo. O aplicativo oferece funcionalidades como compra de bilhetes, visualização de mapas, situação das linhas, notícias, QR Code para acesso, entre outros.
- Laura Furtado – Desenvolvedora
- Antônia Villela – Desenvolvedora
- Melina Pissolato – Desenvolvedora
- João Pedro Castro – Desenvolvedor
- Gabriel Borem – Desenvolvedor
- Vitor Neves – Scrum Master
- Apresentação do Projeto
- Tecnologias Utilizadas
- Organização de Pastas
- Padrão de Branches e Commits
- Requisitos Funcionais
- Documentação da API
- Execução do Projeto
- Execução com Docker
O CPTMetrô é um aplicativo que automatiza o uso do metrô de São Paulo. Ele permite aos usuários:
- Realizar pagamentos de passagens.
- Acompanhar horários e situação das linhas.
- Gerar QR Code de acesso.
- Consultar notícias e entrar em contato com a CPTM.
- Linguagens: HTML, CSS, JavaScript, TypeScript
- Frameworks e Bibliotecas: Bootstrap, Express
- Versionamento: Git
- Gerenciamento de Pacotes: npm
projeto-cptmetro/
├── .github/ # Configurações do GitHub
├── .vscode/ # Configurações do VSCode
├── docs/ # Documentação do projeto (scrum, backlog, dailys)
│ ├── Abertura Sprint/
│ ├── Backlog.txt
│ ├── Dailys/
│ └── Retrospectiva/
├── node_modules/
├── src/ # Código-fonte do sistema
│ ├── configuração/
│ ├── homepage/
│ ├── horários/
│ ├── icones/
│ ├── img/
│ ├── login_e_registro/
│ ├── mapa/
│ ├── notícias/
│ ├── pagamento/
│ ├── qrcode/
│ ├── viagens_favorit./
│ ├── database.json
│ ├── usuarios.json
│ ├── server.ts
│ └── server.js
├── teste_*/ # Pastas de testes isolados por desenvolvedor
├── Dockerfile
├── .dockerignore
├── .gitignore
├── index.html
├── package.json
├── package-lock.json
├── tsconfig.json
└── README.md
feature/: Novas funcionalidadesbug/: Correções de bugsfix/: Correções urgentes em produçãochore/: Tarefas técnicas e não funcionaisdocs/: Alterações na documentação
| Tipo | Descrição |
|---|---|
| add | Adição de funcionalidade |
| bug | Correção de erro |
| docs | Atualização de documentação |
| style | Alterações visuais (sem impacto na lógica) |
| refactor | Refatoração de código (sem alterar funcionalidade) |
| test | Inclusão/correção de testes |
| chore | Atualizações não relacionadas à lógica do app |
- Cadastro e login de usuários
- Adição de forma de pagamento
- Visualização de mapa das linhas
- Geração de QR Code para bilhetes
- Exibição de notícias sobre o metrô
- Gestão de viagens favoritas
- Verificação da situação das linhas
- Página de contato e ouvidoria
http://localhost:3000/
Cria um novo usuário.
Body:
{
"nome": "Maria",
"email": "maria@example.com",
"senha": "123456"
}Respostas:
201 Created: Sucesso400: Campos obrigatórios ausentes409: Email já cadastrado500: Erro interno
Realiza autenticação do usuário.
Body:
{
"email": "maria@example.com",
"senha": "123456"
}Respostas:
200 OK: Retorna nome e email400: Campos obrigatórios ausentes401: Credenciais incorretas
Retorna número de tickets do usuário.
Resposta:
{ "tickets": 5 }404: Usuário não encontrado
Atualiza saldo de tickets.
Body:
{
"tickets": 3
}200 OK: Atualizado com sucesso404: Usuário não encontrado
Disponível no código, mas desativado por padrão. Permite deletar um usuário pelo email.
npm install
npm run dev- Porta padrão:
3000 - Banco de dados:
usuarios.json
- Build da imagem
docker build -t projeto-metro .- Executar container
docker run -p 3000:3000 projeto-metro- Acessar no navegador
http://localhost:3000
[
{
"nome": "Maria",
"email": "maria@example.com",
"senha": "123456",
"tickets": 3,
"rotasFavoritas": []
}
]