Gupao Mall é um projeto prático do curso de arquitetura Java da Gupao Academy para ajudar os alunos a implementar melhor a tecnologia. O projeto é baseado em springboot2.1.6.RELEASE+Dubbo2.7.3 para construir microsserviços.
Os módulos de negócios são divididos e tentam se adequar ao sistema arquitetônico da empresa de Internet. Portanto, exceto que a complexidade do negócio em si não é muito alta, a arquitetura geral é basicamente igual à arquitetura real.
Mas, na verdade, os projetos reais em nível de produção se tornarão muito complicados devido ao número de usuários e à complexidade do negócio. Portanto, envolveremos mais pessoas e iteraremos o projeto desde os aspectos de requisitos, design, soluções, etc., de forma a cultivar certos
Experiência e capacidade de fornecer soluções práticas.
O projeto adota desenvolvimento separado de front-end e front-end, e o front-end precisa ser implantado de forma independente. A pilha de tecnologia principal atual usa SpringBoot2.1.5.RELEASE+Dubbo2.7.2,
A arquitetura principal do backend é baseada em springboot+dubbo+mybatis.
script de banco de dados db_script para este projeto | usar mysql | A divisão de tabelas ainda não foi feita, mas a divisão de tabelas foi considerada. |
---|---|---|
gpmall-cashier caixa, responsável pela lógica de interação relacionada ao pagamento | projeto web | Porta 8083 |
componentes públicos gpmall-commons | jarra | Os componentes públicos são referenciados em muitos lugares, portanto, tome cuidado ao fazer alterações. |
gpmall-front O projeto front-end do Gupao Mall | Projeto front-end | Desenvolva usando tecnologias front-end como vue, node, es, etc. |
arquivo de controle pai gpmall-parent, usado para gerenciar uniformemente todos os pacotes jar | Arquivo de controle pai | Versões de pacotes jar usadas para gerenciar uniformemente todos os projetos |
produto gpmall-shopping/carrinho de compras/renderização da página inicial e outras interações | projeto web | Porta 8081 |
gpmall-user fornece interações relacionadas ao usuário, como login, registro, centro pessoal, etc. | projeto web | Porta 8082 |
serviço de mercado Dubbo para atividades promocionais [a depuração conjunta ainda não foi concluída, portanto não precisa ser iniciada] | Serviço Dubo | Porta 20884 |
pay-service fornece recursos de processamento de pagamentos | Serviço Dubo | Porta 20883 |
serviço de compras, fornece carrinho de compras, produtos recomendados, produtos e outros serviços | Serviço Dubo | Porta 20881 |
serviço ao usuário, fornece serviços relacionados ao usuário | Serviço Dubo | Porta 20880 |
serviço de pedidos, fornecer serviço de pedidos | Serviço Dubo | Porta 20882 |
serviço de comentários, serviço de avaliação de produtos | Serviço Dubo | Porta 20885 |
PRD | Armazene os documentos de requisitos do prd. Os alunos que desejam participar do projeto podem fornecer os requisitos do prd. | |
wiki | Documentos de ajuda exigem que cada aluno contribua com sua própria força |
Crie o banco de dados gpmall e importe o script sql no diretório db_scrpit
.
Inicie os serviços relacionados na seguinte ordem:
gpmall-parent, este é o arquivo de controle pai de todo o projeto. Você precisa executar install para instalá-lo localmente.
gpmall-commons, esta é a dependência comum de todo o projeto. Execute install para instalá-lo localmente. Se você mesmo construiu o Nexus, pode implantá-lo no Nexus.
Nota: Os seguintes microsserviços usam mysql, redis, kafka, etc., e o middleware relevante precisa ser instalado antecipadamente e todos os serviços são configurados com endereços de host. Recomenda-se usar a ferramenta hostswitch para manutenção unificada.
user-service, user service, instale o módulo user-service-api
no warehouse local, porque outros módulos têm dependências. Em seguida, inicie o serviço.
order-service, order service, instale o módulo order-service-api
localmente e faça-o depender de outros módulos
shopping-service, product service, instalar o módulo shopping-service-api
localmente e torná-lo dependente de outros módulos
serviço de marcação, serviço de marketing, nenhuma função foi desenvolvida ainda.
pay-service, serviço de pagamento, o código foi escrito e depurado (mas a versão antiga da interface é usada. Se for uma nova versão, a interface precisa ser alterada) e o appid precisa ser fornecido. o projeto não for iniciado, isso não afetará as funções da página anterior
serviço de comentários, serviço de comentários, usado para exibir informações de avaliação do produto
Os serviços a seguir são BFF, que realiza agregação de serviços e depende dos módulos de microsserviços acima, respectivamente.
gpmall-shopping
usuário gpmall
caixa gpmall
Projeto front-end gpmall-front, este projeto é desenvolvido usando vue.
npm install
em gpmall-front,npm run dev
novamente. Se os serviços de back-end iniciarem normalmente, gpmall-front encaminhará a solicitação ao servidor para obter dados relevantes para renderização.Você é muito bem-vindo para contribuir com o desenvolvimento do Gpmall! Você pode escolher as seguintes formas de contribuir com o Gpmall:
<<<<<<< CABEÇA
=======
88aab362053f002aeff65bb3c957591fafb1c788
Blog pessoal do autor
https://istio.tech