Sistema operacional Windows, já que a plataforma é desenvolvida no framework Asp.Net, versão 4.7.2.
Siga os demais passos na ordem em que aparecem.
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).

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.

A Plataforma de Marketplace do Ideia no Ar utiliza alguns serviços de nuvem, listados abaixo. É recomendado que você crie contas separadas para estes serviços, com foco no ambiente de desenvolvimento, ao invés de utilizar as contas de produção que são repassadas em conjunto com sua cópia do código fonte. São elas:
SendGrid: servidor de SMTP para disparo de emails. Oferece contas gratuitas para envio de uma quantidade limitada de emails por dia, ideal para um ambiente de desenvolvimento. Alternativamente, você pode utilizar softwares locais ou serviços online focados no teste de emails transacionais, como o Mail Trap.
AWS S3: o AWS é o servidor de nuvem da Amazon, que oferece todos os recursos necessários para hospedagem de uma plataforma de produção com alto nível de disponibilidade e segurança. Em se falando de ambiente de desenvolvimento, crie um Bucket do S3 na região de Virgínia (east-us-1). O S3, ou Simple Storage Service, é o serviço do AWS utilizado pela plataforma para armazenamento de arquivos como imagens de customização do site e imagens dos usuários e produtos/serviços. Além do Bucket, será necessário criar um IAM User de acesso programático com permissões para leitura e escrita no bucket.
Google Maps: a plataforma utiliza uma API do Google Maps para fornecer o autocomplete de endereços na busca e no cadastro de vendedor. Siga os passos descritos no link para criar uma conta e obter uma chave de api do Google Maps.
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 desta documentação) do GitHub ou GitLab (ambos têm opções gratuitas, plenamente suficientes para o desenvolvimento com até 3 colaboradores).
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 documentação de Estrutura do Projeto, na seção Outros > RazorGenerator.
Importante: se este passo não for seguido, suas alterações de tela não surtirão efeito.
Usando o SQL Server Management Studio, crie um novo banco de dados com qualquer nome (ex. marketplace_dev), com a collation Latin1_General_CI_AI.
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).
Estas são as configurações necessárias para executar a plataforma.
O primeiro passo é criar os arquivos de configuração:
Duplique o arquivo appsettings.defaults.config e renomeie a cópia como appsettings.config
Duplique o arquivo connStrings.defaults.config e renomeie a cópia como connStrings.config
Isso é necessário porque os arquivos finais de configuração contém informações sensíveis e não ficam hospedados no controle de versão. O arquivo git.ignore da solução especifica que estes arquivos devem ser ignorados pelo controle de versão.
Com os arquivos criados, use o Visual Studio para editá-los e fornecer os parâmetros de configuração essenciais.
No arquivo appsettings.config, configure:
S3:BUCKETNAME com o nome do Bucket do S3
S3:ACCESSKEY com o nome de usuário do IAM
S3:SECRETKEY com a chave de acesso do usuário do IAM
No arquivo connStrings.config, configure a conexão ScaffoldContext. No ambiente de desenvolvimento, esta conexão terá tipicamente o formato abaixo, lembrando de substituir .\sqlexpress pelo nome do seu servidor local, e SEU_BANCO pelo nome do seu banco de dados criado acima:
Server=.\sqlexpress;Database=SEU_BANCO;Trusted_Connection=True
Com todas as configurações acimas realizadas, é 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:
Criação da estrutura do banco de dados
Aplicação das Migrations pendentes (no caso de atualizações na modelagem)
Insert das strings de tradução na tabela Str
Insert dos templates de email na tabela MessageTemplate
Ao finalizar estes processos de configuração inicial, você verá uma tela como esta:

Neste estágio, a platforma se encontra em seu modo mais básico, ainda não direiconado para nenhum modelo de negócio. Por exemplo, ainda não está disponível sequer o cadastro de comprador, pois como a plataforma ainda não foi configurada para venda de produtos ou agendamento de serviços, o sistema não sabe qual papel o comprador assume, não sabe se haverá pagamento pela plataforma (integração com gateways), etc.
Faça login com usuário admin master, que é fornecido como parte do repasse de código fonte da sua plataforma.
No painel administrativo, comece acessando a configuração Gestão > Pré-Setups (item 1 da imagem).

Indique qual será o modelo de negócio e monetização da sua plataforma. Este fluxo simplificado executa várias configurações por baixo dos panos na sua plataforma. Inspecione o código fonte para entender todas as configurações que são definidas neste processo.

Na sequência, acesse Gestão > Configuração (item 2 da imagem) para realizar as demais configurações básicas da plataforma:
environment.appUrl: define a URL da aplicação, que é usada para compor os links das imagens na plataforma, bem como os links referenciados nos emails transacionais
environment.cloudStorage: informe o endpoint do seu Bucket S3 de desenvolvimento ou produção. O endpoint tem o formato https://NOME_DO_BUCKET.s3.amazonaws.com/, e é especialmente relevante para o processo de otimização da entrega de imagens através de CDN
environment.googleServices: informe a chave de API do Maps. A mesma chave pode ser informada nas configurações mapsApiKey e mapsApiUnrestricted
environment.smtp: informe as configurações do servidor para envio de emails transacionais (ex. SendGrid ou MailTrap, conforme indicações acima)
Outras configurações relevantes podem ser feitas no Painel de Customização, que consiste numa interface de usuário que simplesmente opera as configurações dispostas na tela de configuração do passo anterior. Com exceção de textos (a seguir), tudo o que é customizado em qualquer parte da plataforma é refletido para a configuração do passo anterior. Esta configuração é armazenada em formato JSON na tela ApplicationConfig no banco de dados.

Por fim, a customização de textos é feita no Arquivo de Tradução.
