Skip to content

E-commerce desenvolvido como trabalho final da matéria de engenharia de software

Notifications You must be signed in to change notification settings

joaopaulocunhafaria/Engenharia-de-software

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 

Repository files navigation

E-Commerce System - Engenharia de Software

Sistema de E-Commerce com Spring Boot e Angular

Spring Boot Angular

Introdução

A Engenharia de Software é uma disciplina fundamental no desenvolvimento de sistemas computacionais, focada na aplicação de abordagens sistemáticas, disciplinadas e quantificáveis para a concepção, desenvolvimento, operação e manutenção de software. Surgiu como resposta à chamada "crise do software" na década de 1960, quando os projetos de software frequentemente excediam prazos, orçamentos e falhavam em atender aos requisitos.

No mundo moderno, onde o software está presente em praticamente todos os aspectos da vida cotidiana e dos negócios, a Engenharia de Software se tornou essencial para:

  • 🔹 Garantir a qualidade dos produtos de software
  • 🔹 Gerenciar a complexidade crescente dos sistemas
  • 🔹 Reduzir custos e prazos de desenvolvimento
  • 🔹 Facilitar a manutenção e evolução dos sistemas
  • 🔹 Assegurar a satisfação dos usuários finais

Contexto do Trabalho Proposto

Este projeto de sistema e-commerce foi desenvolvido como parte integrante da disciplina de Engenharia de Software ofertada no curso de engenharia da computação no CEFET-MG, com o objetivo de aplicar na prática os conceitos teóricos aprendidos em sala de aula. O trabalho engloba:

  • 🔹 Aplicação de metodologias ágeis no ciclo de desenvolvimento
  • 🔹 Engenharia de requisitos completa para um sistema real
  • 🔹 Modelagem de dados para um domínio complexo
  • 🔹 Desenvolvimento full-stack com tecnologias modernas (Spring Boot e Angular)
  • 🔹 Boas práticas de arquitetura de software e padrões de projeto

Papel de um Sistema de E-Commerce

Função Impacto
Vitrine Virtual Apresenta produtos/serviços de forma organizada e atraente 24/7
Processamento de Pedidos Automatiza desde a seleção até o fechamento da compra
Gestão de Clientes Armazena dados, histórico e preferências para personalização
Integração de Pagamentos Oferece múltiplas formas de pagamento seguras
Logística Gerencia estoque, fretes e entregas

Este projeto acadêmico busca refletir essa realidade do comércio digital, implementando um sistema que encapsula essas funcionalidades críticas enquanto aplica os princípios da Engenharia de Software para garantir qualidade, manutenibilidade e escalabilidade.

Funcionalidades do Trabalho Proposto

O sistema proposto contempla um conjunto abrangente de funcionalidades organizadas em módulos principais:

Módulos Principais

Gestão de Usuários █████████████████████████ (25%)

Gestão de Produtos ████████████████████████████████ (30%)

Categorias ███████████████ (15%)

Carrinho/Checkout ████████████████████████████████ (30%)

Gerenciamento de Usuários

CRUD de Usuários:

  • Create: Cadastro de novos usuários com validação de dados
  • Read: Consulta de perfil e listagem de usuários (admin)
  • Update: Edição de informações pessoais e credenciais
  • Delete: Inativação de contas (soft delete)

Sistema de Roles (Papéis):

Role Permissões Funcionalidades Restritas
Cliente Comprar produtos, gerenciar perfil Apenas operações de compra
Vendedor Gerenciar produtos próprios CRUD apenas para produtos vinculados
Administrador Acesso completo ao sistema Todas as funcionalidades

Gerenciamento de Produtos

CRUD de Usuários:

  1. Cadastro com informações completas (nome, descrição, preço, estoque)
  2. Visualização em catálogo público ou painel administrativo
  3. Atualização de dados e status (disponível/esgotado)
  4. Remoção lógica (não exclui fisicamente)

Gerenciamento de Categorias

  • Create Cadastro hierárquico (categorias e subcategorias)
  • Read Navegação por categorias no frontend
  • Update Reorganização da árvore de categorias
  • Delete Remoção com validação de produtos vinculados

Carrinho de Compras

Funcionalidade Descrição Técnica
Adição de Itens Session storage + persistência no banco após login
Atualização de Quantidades Validação contra estoque disponível
Remoção de Itens Exclusão individual ou limpeza total
Cálculo de Totais Soma de subtotais + cálculo de frete

Estas funcionalidades foram projetadas para atender aos requisitos básicos de um sistema e-commerce moderno, enquanto mantêm a simplicidade adequada para um projeto acadêmico, permitindo a aplicação prática dos conceitos de Engenharia de Software estudados.

About

E-commerce desenvolvido como trabalho final da matéria de engenharia de software

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published