Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Developer #8

Merged
merged 114 commits into from
Aug 28, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
114 commits
Select commit Hold shift + click to select a range
3f4841f
colors add
ecsistem Aug 22, 2023
bd3fa64
add Icons do destaque
ecsistem Aug 22, 2023
e9d70ac
add component Card do Destaque
ecsistem Aug 22, 2023
c704147
add component Destaque
ecsistem Aug 22, 2023
7f0e5e4
add data do Destaque
ecsistem Aug 22, 2023
eb39f4d
CSS Global adicionado ao projeto
eduardokuritza Aug 22, 2023
4777510
font.css add ao projeto
eduardokuritza Aug 22, 2023
14ec330
Merge branch 'developer' of https://github.com/ecsistem/ecommece-comp…
eduardokuritza Aug 22, 2023
b778e24
correção de pagina
ecsistem Aug 22, 2023
4faab38
ajuste de card
ecsistem Aug 22, 2023
32d2c0d
css e home add
ecsistem Aug 22, 2023
8d3be81
css add
ecsistem Aug 22, 2023
96f11d8
css modificado
ecsistem Aug 22, 2023
87c5251
Componentes de botão e container da lista de produtos adicionada ao p…
eduardokuritza Aug 22, 2023
f380314
Merge branch 'developer' of https://github.com/ecsistem/ecommece-comp…
eduardokuritza Aug 22, 2023
2a03eae
Container list e botões
eduardokuritza Aug 22, 2023
28f9cf9
component desconto (desk) add
ecsistem Aug 22, 2023
d12bfa2
Home in index
ecsistem Aug 22, 2023
0a979d0
Merge branch 'descontoProduto' into developer
ecsistem Aug 22, 2023
e39817a
ajuste paratela de notebooks
ecsistem Aug 22, 2023
23a4ad9
importei o component de botão
ecsistem Aug 22, 2023
b830770
ajuste de ordem que aparece na tela
ecsistem Aug 22, 2023
93f19c6
add css
ecsistem Aug 22, 2023
576f380
Informação por props
ecsistem Aug 22, 2023
124e201
CountDown add css
ecsistem Aug 23, 2023
24b70a3
Header add + css
ecsistem Aug 23, 2023
d69345e
props in Header
ecsistem Aug 23, 2023
e0636bf
feat footer
cristopherkovalski Aug 23, 2023
45ca270
footer add
cristopherkovalski Aug 23, 2023
6c5c880
correção de css
ecsistem Aug 23, 2023
4a4467b
ajuste de max-width
ecsistem Aug 23, 2023
5c5f347
Component badge add
ecsistem Aug 23, 2023
afea0b2
Componente de produtos inserido no projeto
eduardokuritza Aug 23, 2023
0d36e90
Merge branch 'component-list' into developer
eduardokuritza Aug 23, 2023
245d636
Correção home
eduardokuritza Aug 23, 2023
5d56d72
Discount flag
eduardokuritza Aug 23, 2023
301bc2d
correção de palavra
ecsistem Aug 23, 2023
105c1b5
feat lower banner
cristopherkovalski Aug 23, 2023
6f7be98
Banner add
ecsistem Aug 23, 2023
5e0d167
Responsividade no Card Destaque
ecsistem Aug 24, 2023
f63436f
Ajuste de responsividade
ecsistem Aug 24, 2023
26e5f8a
ajuste de css e propTypes
ecsistem Aug 24, 2023
733d08e
Correção de patch
ecsistem Aug 24, 2023
71c3571
refactor banner button and width
cristopherkovalski Aug 24, 2023
f1b348c
Pagina de produtos adicionada ao projeto
eduardokuritza Aug 24, 2023
0dcdf86
Merge branch 'banner-low' into developer
cristopherkovalski Aug 24, 2023
987e10c
rotas+banner
ecsistem Aug 24, 2023
50420d0
imagem
ecsistem Aug 24, 2023
0f6d822
remove
ecsistem Aug 24, 2023
b431f7a
banner
ecsistem Aug 24, 2023
7b86056
Imagem banner mobile
ecsistem Aug 24, 2023
da93507
arrow renomeado
ecsistem Aug 24, 2023
a8605c7
Merge branch 'product-page' into developer
eduardokuritza Aug 24, 2023
d6ddc5e
rename
ecsistem Aug 24, 2023
3b45d92
imlementação da api
ecsistem Aug 24, 2023
9820eb5
paginação add
ecsistem Aug 24, 2023
17b23d5
ajuste de link
ecsistem Aug 24, 2023
70ec5a9
ajuste Header
ecsistem Aug 24, 2023
d451a7b
ajuste do radom do badge e correção do title
ecsistem Aug 25, 2023
d174706
feature cart page
cristopherkovalski Aug 25, 2023
a881bf2
Merge detalhe de produtos
eduardokuritza Aug 25, 2023
80ebae3
Merge branch 'developer' into developer
eduardokuritza Aug 25, 2023
243c2da
ajuste de css
ecsistem Aug 25, 2023
1646588
Imagem pagina do produto corrijida
eduardokuritza Aug 25, 2023
9df0be1
Merge branch 'product-page-image' into developer
eduardokuritza Aug 25, 2023
3741e17
Imagem produto detalhe
eduardokuritza Aug 25, 2023
95293cf
api add ao detalhes do produto
ecsistem Aug 25, 2023
5bad56c
ajuste do botlão de deixar a imagem larga
ecsistem Aug 25, 2023
645955a
types do butão de paginação
ecsistem Aug 25, 2023
c66efed
Merge branch 'developer' of https://github.com/ecsistem/ecommece-comp…
ecsistem Aug 25, 2023
43cc23c
correção de nome
ecsistem Aug 25, 2023
5098b80
refact cart container
cristopherkovalski Aug 25, 2023
744c9c6
Merge branch 'cart' into developer
cristopherkovalski Aug 25, 2023
1e863c7
correct path line cart svg
cristopherkovalski Aug 25, 2023
2bd556a
margem ajustada
ecsistem Aug 25, 2023
eedbba4
responsividade do carrinho
ecsistem Aug 25, 2023
aebaf1a
ajuste de css
ecsistem Aug 25, 2023
2c4cfac
correção do patch do link
ecsistem Aug 25, 2023
cad4b8c
CI/CD add
ecsistem Aug 26, 2023
d4ff158
Ci do docxke modificada
ecsistem Aug 26, 2023
e864ea1
correção
ecsistem Aug 26, 2023
7ebfe7a
ajuste de nome
ecsistem Aug 26, 2023
d7bc9e0
new
ecsistem Aug 26, 2023
889b1a9
Merge pull request #5 from ecsistem/ci/cd
ecsistem Aug 26, 2023
24edcf5
novo
ecsistem Aug 26, 2023
3c2dd40
rename
ecsistem Aug 26, 2023
9d700e4
Merge branch 'ci/cd' into developer
ecsistem Aug 26, 2023
32b75d4
feat redux
cristopherkovalski Aug 26, 2023
d3ec291
dataPromoção add e types
ecsistem Aug 26, 2023
4335b0c
Merge remote-tracking branch 'remotes/origin/propsedata' into propsedata
ecsistem Aug 26, 2023
ecb8fbc
criação da pagina notfound
ecsistem Aug 26, 2023
84d1d33
Correção card destaque, container prod. e img
eduardokuritza Aug 28, 2023
302c7ce
Merge branch 'store-rdx' into developer
cristopherkovalski Aug 28, 2023
2145b3f
refact header link
cristopherkovalski Aug 28, 2023
3912efc
ajuste do valor não ficar mudando e ajuste do lint
ecsistem Aug 28, 2023
da99e71
refact cart css style
cristopherkovalski Aug 28, 2023
e8f5bc1
ajuste de notificação e remoção dos consoles
ecsistem Aug 28, 2023
17a932a
ajuste de notificação
ecsistem Aug 28, 2023
884ee0e
delete dataCart
cristopherkovalski Aug 28, 2023
cac86fd
Merge pull request #7 from ecsistem/notificação
ecsistem Aug 28, 2023
d5b2324
Merge branch 'refact-cart-style' into developer
cristopherkovalski Aug 28, 2023
7d33c34
Correcao de botoes e responsividade
eduardokuritza Aug 28, 2023
9cd58a9
Merge branch 'correcao-botao' into developer
eduardokuritza Aug 28, 2023
56d4e0f
redme atualizado
ecsistem Aug 28, 2023
1939cd5
Merge branch 'developer' of https://github.com/ecsistem/ecommece-comp…
ecsistem Aug 28, 2023
3d2184a
refact page icon
cristopherkovalski Aug 28, 2023
c1bb513
Merge branch 'developer' of https://github.com/ecsistem/ecommece-comp…
cristopherkovalski Aug 28, 2023
c4f8a3d
Informações de contato
eduardokuritza Aug 28, 2023
28e47fd
ajuste de titulo
ecsistem Aug 28, 2023
2afab57
readme
cristopherkovalski Aug 28, 2023
664ac67
Merge branch 'developer' of https://github.com/ecsistem/ecommece-comp…
ecsistem Aug 28, 2023
a75f880
readme atualizado
ecsistem Aug 28, 2023
220752a
toast add
ecsistem Aug 28, 2023
a4a9de9
atualização de data
ecsistem Aug 28, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .eslintrc.cjs
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ module.exports = {
'plugin:react/jsx-runtime',
'plugin:react-hooks/recommended',
],
ignorePatterns: ['dist', '.eslintrc.cjs'],
ignorePatterns: ['dist', '.eslintrc.cjs', 'Dockerfile', 'docker-compose.yml'],
parserOptions: { ecmaVersion: 'latest', sourceType: 'module' },
settings: { react: { version: '18.2' } },
plugins: ['react-refresh'],
Expand Down
20 changes: 20 additions & 0 deletions .github/workflows/CIDocker.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
name: Docker Image CI

on:
push:
branches:
- main
- develop
pull_request:
branches:
- main
- develop

jobs:
build:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3
- name: Build the Docker image
run: docker build . --file Dockerfile --tag ecommece-compass:$(date +%s)
37 changes: 37 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# Estágio de desenvolvimento
FROM node:14 AS development

WORKDIR /app

# Copia apenas os arquivos necessários para aproveitar o cache de camadas do Docker
COPY package*.json ./
RUN npm install

# Instala o pacote "vite" globalmente no contêiner
RUN npm install -g vite

# Copia todos os arquivos do projeto
COPY . .

# Executa o comando para iniciar o servidor de desenvolvimento do Vite
CMD ["npm", "run", "dev"]

# Estágio de produção
FROM development AS production

# Executa o comando para fazer o build da aplicação usando o Vite
RUN npm run build

# Estágio final para servir os arquivos com o Nginx
FROM nginx:alpine AS final

# Remove a configuração padrão do Nginx
RUN rm -rf /usr/share/nginx/html/*

# Copia todos os arquivos do projeto da etapa de produção para o diretório padrão do Nginx
COPY --from=production /app/dist /usr/share/nginx/html

EXPOSE 80

# Comando para iniciar o servidor Nginx em modo daemon
CMD ["nginx", "-g", "daemon off;"]
139 changes: 131 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,138 @@
# React + Vite
# E-commece Compass.uol

## Links Demo
Produção: https://ecommece-compass.vercel.app/
![Logo](https://i.ibb.co/chJPk3G/Home.png)

Desenvolvimento: https://ecommece-compass.pages.dev/
O site de Ecommerce para o programa de bolsa da @compass.uol composto por três telas principais: Página Inicial, Detalhes do Produto e Carrinho. O design e a funcionalidade de cada tela foi implementado conforme especificado no protótipo do Figma.

## Funcionalidades Principais🔥
### Tela de Página Inicial

1. **Lista de Produtos**: Exibir uma lista de produtos incluindo nome, preço e, em alguns casos, uma descrição de avaliação.
2. **Contador de Tempo para Ofertas Finais**: Para alguns produtos, mostrar um contador de tempo indicando quanto tempo resta para o fim da oferta.
3. **Marcadores de Oferta e Novos Produtos**: Alguns produtos serão marcados com a porcentagem de desconto como "Oferta", enquanto outros serão marcados como "Novo".
4. **Funcionalidade de Favoritos**: Os cards de produtos terão um botão para marcar produtos como favoritos.
5. **Funcionalidade de Adicionar ao Carrinho**: Os cards de produtos também incluirão um botão para adicionar o produto ao carrinho. Isso deve atualizar o estado global do sistema.
6. **Seção de Novos Produtos**: Uma seção permitindo navegação para novos produtos.
7. **Botão de Retorno**: Um botão para voltar à tela anterior.
8. **Cabeçalho e Rodapé Globais**: O site deve ter um cabeçalho e rodapé consistentes em todas as páginas.
9. **Banners Estáticos**: Os banners na página inicial serão estáticos e não terão funcionalidade interativa.
10. **Responsividade**: A tela de Página Inicial deve ser adequadamente projetada para dispositivos móveis.

This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.
### Tela de Detalhes do Produto

Currently, two official plugins are available:
1. **Detalhes do Produto**: Exibir informações detalhadas sobre um produto específico, incluindo nome, preço, descrição, etc.
2. **Funcionalidade de Adicionar ao Carrinho**: Botão para adicionar o produto ao carrinho. Isso também deve atualizar o estado global do carrinho.
3. **Funcionalidade de Compra**: Opção para comprar o produto, com a capacidade de escolher a quantidade desejada.
4. **Contador de Quantidade**: Um contador que permite ajustar a quantidade de produtos a serem adicionados.

- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/README.md) uses [Babel](https://babeljs.io/) for Fast Refresh
- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh
### Tela de Carrinho

1. **Informações de Compra**: Exibir os produtos selecionados, suas quantidades e preços individuais.
2. **Total de Itens e Valor Total**: Mostrar o número total de itens no carrinho e o valor total da compra.
3. **Contadores de Adicionar/Remover Produtos**: Para cada produto no carrinho, fornecer um contador que permite ajustar a quantidade.

## Link do demo 🚀

Produção: [https://ecommece-compass.vercel.app/](https://ecommece-compass.vercel.app/)

Desenvolvimento: [https://ecommece-compass.pages.dev/](https://ecommece-compass.pages.dev/)

## Rodando localmente 💻

Siga os passos abaixo para rodar o projeto em sua máquina local:

1. Clone o repositório ⬇️

```bash
git clone https://github.com/ecsistem/blog-compass
```

2. Acesse o diretório do projeto 📂

```bash
cd blog-compass
```

3. Instale as dependências usando NPM 📦

```bash
npm install
```

ou usando PNPM 📦

```bash
pnpm install
```

ou usando Yarn 📦

```bash
yarn install
```

4. Inicie o servidor local 🚀

```bash
npm run start
```

## Build 🛠️

Para fazer o build do projeto, execute o seguinte comando:

```bash
npm run build
```

## 🧱Ambiente de Desenvolvimento - Docker
Para iniciar o servidor de desenvolvimento do Vite com docker, execute o seguinte comando:

```bash
docker-compose up development
```
Isso iniciará o servidor de desenvolvimento do Vite, e você poderá acessá-lo em http://localhost:3000 no seu navegador.

## 🧱Ambiente de Produção - Docker
Para realizar o build da aplicação usando o Vite e executar o ambiente de produção com o Nginx, execute o seguinte comando:

```bash
docker-compose up production
```
Isso executará o build da aplicação usando o Vite e, em seguida, iniciará o servidor Nginx para servir os arquivos estáticos. Você poderá acessar a aplicação em http://localhost no seu navegador.

## Requisitos Técnicos

- A aplicação deve ser desenvolvida usando o framework ReactJS.
- O design e a funcionalidade devem ser implementados de acordo com o protótipo fornecido no Figma.
- O estado global da aplicação deve ser gerenciado usando ferramentas como Context API ou Redux.
- A aplicação deve ser responsiva e devidamente otimizada para dispositivos móveis.

## Autores 👤
- [@Edson Costa](https://www.github.com/ecsistem)
- [@Eduardo Kuritza](https://www.github.com/eduardokuritza)
- [@Cristopher Kovalski Saporiti](https://www.github.com/cristopherkovalski)


## Contato📱

Se tiver alguma dúvida ou precisar entrar em contato, você pode me encontrar em:

//Edson Costa
- E-mail: [email protected]
- GitHub: [ecsistem](https://github.com/ecsistem)
- LinkedIn: [https://www.linkedin.com/in/edsoncostadev/](https://www.linkedin.com/in/edsoncostadev/)

//Eduardo Kuritza
- E-mail: [email protected]
- GitHub: [eduardokuritza](https://github.com/eduardokuritza)
- LinkedIn: [https://www.linkedin.com/in/eduardokuritza/]

//Cristopher Kovalski Saporit
- E-mail: [email protected]
- GitHub: [Cristopher Kovalski Saporiti](https://www.github.com/cristopherkovalski)
- LinkedIn: [https://www.linkedin.com/in/cristopher-kovalski-saporiti-a09526146/]

## Suporte ✉️

Para suporte, entre em contato enviando um e-mail para [email protected], [email protected] ou [email protected]. Estamos à disposição para ajudar com qualquer dúvida ou problema relacionado ao projeto.
22 changes: 22 additions & 0 deletions docker-compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
version: "3"

project_name: ecommece-compass

services:
# Serviço para o ambiente de desenvolvimento com o Vite
development:
build:
context: .
target: development
ports:
- "3000:3000" # Porta para acesso ao servidor de desenvolvimento do Vite
volumes:
- .:/app # Monta o diretório local como volume para refletir as alterações no contêiner em tempo real

# Serviço para o ambiente de produção com o Nginx
production:
build:
context: .
target: final
ports:
- "80:80" # Porta para acesso ao servidor Nginx em modo de produção
6 changes: 3 additions & 3 deletions index.html
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
<!doctype html>
<html lang="en">
<html lang="pt_BR">
<head>
<meta charset="UTF-8" />
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
<link rel="icon" type="image/svg+xml" href="./src/assets/images/Icons/Logo1.svg" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Vite + React</title>
<title>Ecommerce Compass</title>
</head>
<body>
<div id="root"></div>
Expand Down
Loading
Loading