- Carshop
- Índice
- Introdução
- Principais tecnologias utilizadas
- Demonstração
- Como executar o projeto
- Como executar os testes
- Lighthouse
Bem-vindo ao Carshop, um sistema de catálogo de carros a venda. Com o login administrativo é possível cadastrar, editar e excluir carros do sistema.
O Backend foi desenvolvido seguindo a arquitetura DDD (Domain Driven Design), SOLID e Clean Code. Visando a escalabilidade, manutenibilidade e testabilidade do sistema.
O Frontend foi desenvolvido tendo em mente boas práticas, componentes reutilizáveis e experiência do usuário.
Backend: C#, ASP.NET Core 6.0, Entity Framework Core 6.0, BCrypt, Docker, XUnit, FluentAssertions.
Frontend: React + Vite + TypeScript, Tailwind CSS, Axios, React-cookie, React-router-dom, Yup, Docker, Vitest.
Banco de dados: SQL Server. (Dockerizado para facilitar a execução do projeto).
- Docker
- Docker Compose
- Git
- .NET 6.0 (Para rodar os testes do backend)
- Node.js (Para rodar os testes do frontend)
Para rodar o projeto sem Docker, veja como rodar a aplicação sem Docker.
Clonar o repositório:
git clone git@github.com:Brendon-Lopes/carshop.gitEntrar na pasta do projeto:
cd carshopRodar com docker compose (Pode demorar um pouco pra iniciar):
docker-compose up -dO projeto estará disponível em http://localhost:3000
A API estará disponível em http://localhost:5000
A documentação da API estará disponível em http://localhost:5000/swagger
Backend (Clique para expandir)
Requisitos:
- .NET 6.0
- Banco de dados SQL Server
-
Tenha um banco de dados SQL Server rodando.
-
Entre na pasta do backend:
cd carshop/server- Edite a connection string no arquivo
appsettings.jsoneappsettings.Development.jsondentro de Carshop.API, de acordo com o seu banco de dados:
- exemplo:
// ...
"ConnectionStrings": {
"DefaultConnection": "Server=localhost;Database=carshop;User Id=sa;Password=123456;"
}
// ...- Instale as dependências:
dotnet restore- Rode a aplicação:
dotnet run --project ./src/Carshop.API/Carshop.API.csprojA API vai criar o banco de dados e populá-lo automaticamente.
- A API estará disponível em http://localhost:5146/swagger
Frontend (Clique para expandir)
Requisitos:
- Node.js
- Entre na pasta do frontend:
cd carshop/client- Instale as dependências:
npm install- Rode a aplicação:
npm run devEmail:
admin@mail.comSenha:
123456Entrar na pasta do projeto:
cd serverExecutar os testes:
dotnet testEntrar na pasta do projeto:
cd clientInstalar as dependências:
npm installExecutar os testes:
npm testNotas de acessibilidade, melhores práticas e SEO do Frontend, de acordo com o Lighthouse:

