Este projeto consiste no desenvolvimento de uma API backend para um sistema de loja virtual de vestuário, como parte da disciplina Princípios de Desenvolvimento Web. O objetivo é criar um sistema funcional e bem documentado, seguindo boas práticas de desenvolvimento de software e utilizando tecnologias modernas.
- Desenvolver um Sistema Web Funcional: Implementar um backend completo com funcionalidades que atendam aos requisitos de uma loja virtual de vestuário.
- Aplicar Conceitos de Engenharia de Software: Adotar práticas ágeis, versionamento de código, testes automatizados e documentação.
- Aprender Tecnologias Backend: Utilizar Node.js, Express, bancos de dados relacionais e técnicas modernas de autenticação.
- Fomentar o Trabalho em Equipe: Trabalhar em colaboração para desenvolver habilidades de comunicação e resolução de problemas.
- Linguagem de Programação: TypeScript (Node.js)
- Framework: Expresss
- Banco de Dados: PostgresSQL, utilizando PRISMA como ORM
- Autenticação e Autorizção: JWT
- Versionamento de Código: Git e GitHub
- Testes: Jest
- Documentação: Swagger
- Configuração do ambiente local e do repositório Git.
- Instalação das dependências e ferramentas necessárias (Node.js, PostgreSQL, Jest, Swagger).
- Definição do escopo do projeto.
- Identificação dos requisitos funcionais e não funcionais.
- Elaboração de histórias de usuário e casos de uso relevantes para o sistema de loja virtual.
- Modelagem do banco de dados para gerenciar produtos, usuários, pedidos e pagamentos.
- Desenho da arquitetura do sistema com foco em modularidade e escalabilidade.
- Definição e especificação dos endpoints da API.
- Desenvolvimento dos endpoints da API para operações CRUD (produtos, usuários, pedidos).
- Implementação da lógica de negócios e integração com o banco de dados.
- Criação de testes unitários e de integração para garantir a qualidade do sistema.
- Execução de testes automatizados com Jest.
- Realização de testes manuais para validar os requisitos funcionais.
- Correção de bugs e melhoria de desempenho.
- Documentação da API utilizando Swagger.
- Criação de guias de instalação e uso do sistema.
- Deploy da API em um ambiente de produção (Heroku, AWS, ou similar).
Equipe: Iago Henrique de Souza Silva, Ana Beatriz da Silva Truta.