Programa de caixa de mercado simples feito com Tauri, React, Vite, SASS e NestJS, em Typescript, TSX (HTML5) e CSS3, para nota avaliativa. O sistema foi feito com o intuito do estudo de desenvolvimento de sistemas desktop
e programação orientada a objetos
.
O Vite
compila os arquivos do Frontend para uma pasta estática .dist
. O Tauri
então compila essa pasta e gera um installer
, que quando for executado instalará o arquivo binário .exe
do sistema.
O NestJS
instancia os seus módulos e suas dependências, fazendo a comunicação entre eles de maneira estruturada e organizada, através das camadas de controller
, service
e repository
, organizadas nos modules
.
O programa executável de Windows deve ser instalado no computador e se comunica com o servidor Backend externo. Pensando na forma como um caixa de verdade funcionaria, vários programas instalados em computadores diferentes se comunicariam com um servidor hospedado remotamente.
O Backend verifica a quantidade de produtos cadastrados e caso não haja nenhum, ele cria 4 produtos pré-definidos através de um
seeder
.
As dependências do Turi não são dependências para o
ambiente de produção
, onde o programa é executado como um.exe
. Somente necessárias para oambiente de desenvolvimento
.
- Windows
10
ou acima; - Node
20.16.0
ou acima; - npm
10.6.0
ou acima; - Postgres
15
ou acima; - Pré-requisitos do Tauri, incluindo Rust;
- As demais dependências serão instaladas pelo
npm
.
- Instale o
Postgres
na versão 15 ou acima; - Instale o
pgAdmin4
ou o gerenciador de sua preferência; - Conecte o
pgAdmin4
aoservidor postgres
instalado; - Crie um banco de dados com o nome
mercadinho_preco_bom
.
- Acesse a pasta
backend
; - Acesse o arquivo
.env.example
e use-o como base para criar o arquivo.env
, ainda dentro da pastabackend
. Configure a porta para o Backend rodar (porta3000
por exemplo). Configure as variáveis do banco de dados que você criou; - Ao final, seu arquivo deve ser algo assim:
DB_HOST = localhost # Ou 127.0.0.1 ou o servidor onde você hospedou seu banco de dados DB_PORT = 5432 # A porta que você configurou na instalação do banco DB_USERNAME = postgres # O nome de usuário que você configurou na instlação do banco de dados DB_PASSWORD = root # A senha que você configurou na instlação do banco de dados DB_NAME = mercadinho_preco_bom # Ou o nome de banco que você escolheu # DB_SCHEMA = CORS_WHITELIST = http://localhost:1420,http://tauri.localhost # NÃO ALTERE. tauri.localhost é a origem que o tauri usa para enviar as requisições quando compilado em exe. PORT = 3000 # A porta em que o Backend irá rodar
- Acesse a pasta
mercado
; - Crie o arquivo
.env
de acordo com abaixo:VITE_BACKEND_URL = http://localhost:3000 # Onde seu servidor Backend está hospedado
Você pode querer rodar o projeto em Produção
ou em Ambiente de Desenvolvimento
.
- Acesse a pasta
backend
via terminal; - Rode o comando abaixo, ele instalará as dependências, compilará o backend e rodará em modo de produção:
npm run production
- Acesse a pasta
installers
e execute qualquer um dos instaladores Siga os passos do instalador. - Caso o instalador não abra o programa, execute o programa instalado.
- Acesse a pasta
mercado
via terminal e rode o comando abaixo, ele instalará as dependências, compilará o Frontend e compilará o projeto para binário:npm run tauri:build
- Seus instaladores foram gerados dentro da pasta
mercado/src-tauri/target/release/bundle
- Acesse a pasta
backend
via terminal e rode o comando abaixo para instalar as dependências:npm i
- Execute o comando abaixo para rodar o Backend:
npm run start:dev
- Acesse a pasta
mercado
via terminal e rodenpm i
para instalar as dependências. - Rode o comando abaixo para iniciar em desenvolvimento, ele rodará um programa simulando o que será gerado em produção e rodará também em uma porta que pode ser acessada pelo navegador:
npm run tauri dev