Skip to content

Projeto baseado em um marketplace feito com ReactJS, NodeJS, MongoDB and Typescript

Notifications You must be signed in to change notification settings

luc-silva/electroware

Repository files navigation

Electroware

Electroware é um projeto pessoal baseado em um marketplace, criado com ReactJS, Typescript, Express e MongoDB. Também utilizei UML para tentar estruturar a relação entre dados e objetos o máximo possível e Insomnia para testar os endpoints.

O projeto iniciou-se em um único repositório, mas decidi separar em submodulos para ter maior controle sobre versões diferentes da API e do client, bem como a integração da aplicação como um todo com diferentes ferramentas.

Ao instalar todas as depêndencias, você pode subir containers da API e client com o docker compose!

Backend foi implementado seguindo a arquitetura REST, utilizando uma biblioteca ODM (Mongoose) para realizar a interação no banco de dados.

Provavelmente é o projeto que mais venho me dedicando. Nele, tentei reunir recursos comuns os quais um e-commerce possui: criação de contas, anúncios de produtos, histórico de compras, lista de desejos, carrinhos de compras, descontos, etc.

electroware

Observações

  • Creio que devido a sua complexidade, esse projeto irá se tornar bem interessante para refatorar, portanto, pretendo manter e atualiza-lo de acordo com a experiência que eu obter no futuro.
  • Alguma sugestão de melhoria, erro notado, ou ideias, por favor, abra um issue.

Como Testar

Método 1 (Necessário Docker e um sistema linux)

1 - Clone o repositório:

git clone https://github.com/luc-silva/electroware --recursive

2 - Vá para a pasta do projeto:

cd electroware

3 - Baixe as dependências do server e client:

cd ./client-react; npm install  && cd .. && cd ./API-typescript; npm install

4 - Inicialize os containers e aguarde:

sudo docker compose up -d

5 - Abra a página localhost de sua máquina na porta 3000.

Método 2 (Necessário: NodeJS)

1 - Clone o repositório:

git clone https://github.com/luc-silva/electroware --recursive

2 - Vá para a pasta do projeto:

cd electroware

3 - Baixe as dependências do server e client:

cd ./client-react; npm install  && cd .. && cd ./API-typescript; npm install

3.1 - Caso falhe, talvez a flag recursive não tenha sido usado ao clonar o repositório. nesse caso, utilize esse comando dentro do repositório principal:

git submodule init && git submodule update

4 - Inicialize o servidor client e a API

npm start 

5 - Inicie a API

npm run server

6 - Abra um novo terminal e inicie o client

npm run client

Fotos do Projeto

electroware (1) electroware (2) electroware (3) electroware (4) electroware (5) electroware (6) electroware (7) electroware (8)

Após os passos, o website deve abrir em seu navegador padrão. Dúvidas, entre em contato através do LinkedIn ou abra um issue.

Planos

  • Refatorar.
  • Criar feature de compartilhamento de coleções.
  • Terminar de documentar a API.
  • Fazer deploy no amazon AWS.
  • Criar testes unitários/integração.
  • Criar uma versão em Java da API.

Créditos

About

Projeto baseado em um marketplace feito com ReactJS, NodeJS, MongoDB and Typescript

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published