Acesso ao código fonte para testes locais


Índice


Especificações técnicas

Back-end

Front-end

Serviços e APIs utilizados

Outros


Estrutura do projeto

Arquitetura

A aplicação é divida nos seguintes grupos de camada:

As camadas são refletidas na organização do projeto através das pastas dentro de src:

fb528a10-69ae-406f-990b-f878ce9fc0ea

Camada de Apresentação

5fbe043f-6b31-439b-b8d1-8d9140cb9c27

Camada de Aplicação

Camada de Infraestrutura

d3973839-d776-449b-a6a8-b096bc4047c0

Outros

RazorGenerator

Todos os detalhes sobre a extensão aparecem em sua página. Os pontos relevantes para o projeto são:


Configuração do ambiente de desenvolvimento

Pré-requisitos

Siga os demais passos na ordem em que aparecem.

Instalação de softwares

Baixe o instalador do Visual Studio Community Edition 2019, que é uma edição gratuita. Prossiga com a instalação selecionando os pacotes focados em Desenvolvimento Web (não confundir com Desenvolvimento Mobile), com suporte ao Asp.Net Framework 4.7.2 (não confundir com Asp.Net Core).

69ddf8c8-ff72-4b34-a96d-e940b870a567

Baixe o SQL Server Express e também o SQL Server Management Studio (SSMS), que é a interface gráfica para gerenciar os bancos de dados do Sql Server Express, executar consultas, se conectar ao banco de dados de produção, entre outros.

424e676a-9823-47b5-979c-eaf356b2d5aa

Sincronizando o Backup do banco de dados ao SQL Express para executar o Projeto


Para importar o banco de dados, primeiramente faça o download do arquivo na pasta que foi entregue o codigo fonte com o nome no modelo: NOMEDESEUNEGOCIO-bancodedados.bacpac, após isso utilize o SQL Server, acessando localmente pelo Sqlexpress, clicando em database e posteriormente em Import Data-tier Application:

Abrindo o código da plataforma

Abra o código executando o arquivo WhiteLabel.sln na raiz do projeto. Isso carregará todo o projeto no Visual Studio.

É recomendado que você hospede sua cópia do código fonte num repositório privado, mantendo sigilo do código fonte, conforme disposto as questões legais, referidas em contrato:

Configuração do Visual Studio para pré-compilação das páginas

Por questões de desempenho em produção, a Plataforma de Marketplace utiliza um recurso de pré-compilação das Views (arquivos .cshtml, as páginas do sistema), dentro do próprio Visual Studio, durante o processo de desenvolvimento. A cada alteração salva para uma View, o Visual Studio cria uma versão compilada da página e salva num arquivo de mesmo nome com a extensão .generated.cs (um arquivo exemplo.cshtml é salvo como exemplo.generated.cs).

Mais detalhes e instruções de instalação e configuração podem ser visualizadas na em Estrutura de Projeto logo acima, na seção Outros > RazorGenerator.

Importante: se este passo não for seguido, suas alterações de tela não surtirão efeito.

Manutenção do banco de dados

Usando o SQL Server Management Studio, utilize o banco de dados entregue na pasta de código fonte.

Não é necessário adicionar nenhuma tabela ao banco de dados. Todas as tabelas serão criadas automaticamente pelo Entity Framework, durante a primeira execução da plataforma (saiba mais em EF 6 CodeFirst to a new database), com base nas Migrations que você pode conferir.

Saiba mais sobre Migrations no EF 6. O projeto está configurado para aplicar automaticamente todas as migrações pendentes a cada vez que é executado.

Toda vez que você alterar as Models da aplicação (classes do projeto Domain), as alterações deverão ser refletidas para o banco de dados através de novas Migrations. Lembre-se de abrir o PMC e executar o comando Add-Migration NomeDaMigrationAqui.

É importante definir o projeto Presentation como Startup Project, e selecionar o projeto Infrastructure na janela do PMC (desta forma, o Visual Studio cria a Migration dentro do projeto Infrastructure, usando a informações de conexão com o banco de dados conforme definidas no projeto Presentation).

Configurações essenciais

O primeiro passo é criar os arquivos de configuração:

No arquivo connStrings.config, configure a conexão ScaffoldContext.

Server=.\sqlexpress;Database=SEU_BANCO;Trusted_Connection=True

Executando a plataforma

Com todas as configurações acimas realizadas, no Visual Studio acesse no projeto Presentation e clique com o botão direito sobre ele, em seguida clique em "properties", com a configuração aberta, clique em "Web" e insira na URL local o https (com o S no final).
Url e porta que recomendamos: https://localhost:44310/
Ao final salve com: Control+S

3784d83f-6100-4189-9e43-5ecfed421a75
6c978f13-9a5d-4b09-b274-a4173ac19103
536ff176-d120-469c-bee3-cf5dc98fa649



Agora é hora de compilar o projeto no Visual Studio (atalho CTRL+Shift+B), o que causa primeiro a restauração de todos os pacotes NuGet referenciados.

Caso aconteça o seguinte erro:

error CS1617: Invalid option '7.3' for /langversion. Use '/langversion:?' to list supported values.

ou se sua IDE estiver em português, o equivalente do erro CS1617, aperte o botão direito do mouse na solução, escolha limpar e depois recompilar.

Aperte F5 para executar o projeto e aguarde até que o Visual Studio abra uma janela no seu navegador padrão e mostre o site.

A primeira execução deve demorar alguns minutos a partir do momento em que seu navegador abrir uma página em branco. Neste momento, a plataforma está realizando todas as configurações necessárias, entre elas:

Ao finalizar estes processos de configuração inicial, você verá uma tela como esta com as informações do banco de dados que baixou:

image

Caso não tenha os acessos de admin, esse acesso é fornecido ao cliente responsável pela plataforma.


Desativando o Recaptcha para fazer login no ambiente local local.

Quanto estiver fazendo testes locais, provavelmente se deparará com erro de login ao tentar logar com os acessos de administrador.
Isso acontece devido a proteção de Recaptcha para proteger acessos diferentes do domínio exclusivo à plataforma, nesse caso siga esse artigo para desativar essa configuração.

Acesse ao banco de dados local e busque pela tabela dbo.ApplicationConfig

Ao encontrar clique com o botão direito do mouse e clique em edit Top 200 Rows

19b80636-f6a9-4298-8f0a-169faf4a8b1b

Ao abrir a Query, copie tudo que estiver na coluna MaaSConfig com Ctrl+A e Ctrl+C

d4740fc1-535b-40f1-85df-f1c5bfcfde9d

Obs.: O que vai copiar é gigante então se vier pouco texto, desconfie!!!
Abra a URL abaixo e cole o script:
JSON Formatter & Validator

6501b014-c6a6-4360-9808-9a6b0138cec6

Agora encontre a configuração de nome: reCaptchaConfig e faça as devidas alterações, conforme modelo abaixo:

358b3442-5c78-4f93-8e61-22881e5898f9

No link faça desta maneira (dica pesquise com ctrl+F para achar com mais facilidade):

3f5d600a-d69b-45f0-9056-594ddb257492

Depois de alterar clique em Process.


Vai gerar um o código formatado em json, analise se as configurações estão corretas e depois copie todo o código no botão indicado:

f4fdcd64-09f8-40dc-abef-4c6af2913ac4

Cole todo o script na coluna MaaSConfig do banco de dados, lembre de apagar tudo antes com Ctrl+A e Del:

f6f7a05b-60c8-48c2-8a0e-55d23cb618cb

Cole:

ffb7deb9-c383-46a8-b483-b59601a286ba

Depois de colar clique na segunda linha em NULL e aperte as teclas ctrl+R para salvar as alterações.
Verifique no ambiente local, fazendo o login se desativou o Recaptcha.