mateus-sartorio / ecommerce-app-frontend

Ecommerce app made with Flutter.
GNU General Public License v3.0
0 stars 0 forks source link


🔵 GitHub 🟢 Website

🏢 Ecommerce App Frontend

Open your store online, no limits!


🔥 Features

📲 Minimalistic interface


🍄 Our philosophy

This project is meant to be simple and easy to use. Features are kept minimal but polished.


⚙️ Local setup

Prerequisites:

Antes de começar, certifique-se que tenha todos os pré-requisitos para rodar o projeto.

Para checar a versão do Node.js instalada em sua máquina, execute o seguinte comando:

node --version

Caso sua versão não seja a 16, recomenda-se utilizar o nvm, que permite instalar e gerenciar várias versões do Node.js em sua máquina (Repositório com instruções para instalação).

Para o Docker, instruções de instalação para cada sistema operacional são encontradas em sua documentação oficial.

Running locally

Clone o repositório localmente, usando --recuse-submodules, para garantir que o os repositórios do frontend e do backend sejam clonados corretamente. Em seguida, entre no diretório do respositório clonado:

git clone https://github.com/mateus-sartorio/corenotes --recurse-submodules
cd corenotes

Além disso, é necessário criar um aquivo de variáveis de ambiente (.env) no diretório raíz do backend para configurar as URLs de conexão com o banco de dados:

cd corenotes-backend
touch .env

No arquivo criado, crie as seguintes variáveis ambientes (MONGODB_ENDPOINT é utilizada pela aplicação em funcionamento normal e MONGODB_MOCK_ENDPOINT para testes unitários):

MONGODB_ENDPOINT="mongodb://mongo:27017/corelab"
MONGODB_MOCK_ENDPOINT="mongodb://mongo:27017/corelab_mock"

Caso prefira utilizar o MongoDB na nuvem, obtenha uma string de conexão em MongoDB Atlas, e use a string de conexão para inicializar as variáveis de ambiente, no formato mostrado abaixo:

MONGODB_ENDPOINT="mongodb+srv://<username>:<password>@<cluster>.mongodb.net/corelab/?retryWrites=true&w=majority"
MONGODB_MOCK_ENDPOINT="mongodb+srv://<username>:<password>@<cluster>.mongodb.net/corelab_mock/?retryWrites=true&w=majority"

Neste caso, recomenda-se também remover o serviço mongo em docker-compose.yml encontrado na pasta raíz do projeto, uma vez que o banco de dados não precisa mais ser executado localmente.

Rodando com Docker

Caso prefira rodar a aplicação com Docker, basta inicializar o Docker Engine, e rodar o seguinte comando na pasta raíz do projeto:

docker compose up

Caso tudo tenha ocorrido conforme o esperado, o frontend deve estar rodando em localhost:3000 e o backend em localhost:4000.

Rodando nativamente

Caso prefira rodar a aplicação nativamente, na pasta raíz do backend, instale as dependências do Node.js e depois inicialize o servidor, com os seguintes comandos:

npm install
npm start

Já na pasta raíz do frontend, as dependências também devem ser instaladas antes de inicializar o servidor:

npm install
npm run dev

Caso queira gerar uma build de produção para o frontend, execute em sua pasta raíz:

npm run build

O servidor com a build de produção pode ser inicializado com:

npm start

[!TIP] Ao instalar dependências do Node.js e inicializar os servidores nativamente, sempre certifique-se de estar usando a versão 16 do Node.js

Para verificar qual versão do Node.js está usando, execute node --version

Caso esteja usando nvm, pode-se selectionar a versão 16 do Node.js com o comando nvm use 16

Com o nvm é possível também instalar a versão 16 do Node.js, caso ainda não esteja instalada, com o comando nvm install 16


⚠️ Limitations

🐞 Known bugs


⚖️ License:

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses.

This program is released under license GNU GPL v3+ license.

🔧 Support:

Kindly report any issues with the application on its official repo on github.com/mateus-sartorio/ecommerce-app.