O Gconta é um projeto desenvolvido para armazenar dados de login de usuários em um sistema de forma segura. Utilizando tecnologias como Node.js, TypeScript, NestJS, Prisma ORM e PostgreSQL, o Gconta oferece uma solução confiável para armazenamento e gerenciamento de informações de login.
- Node.js
- TypeScript
- NestJS
- Prisma ORM
- PostgreSQL
- React
- Styled-componets
- React-query
- React-hook-form
- Vite
Pré-requisitos
- Node.js instalado
- Docker instalado (caso opte por usar Docker)
-
Instale as dependências do projeto:
npm install
-
Configure o banco de dados:
- Crie um arquivo
.envna raiz do projeto backend com o seguinte conteúdo:DATABASE_URL="postgresql://admin:admin@localhost:5432/gcontas?schema=public" PORTA_SERVIDOR=3000 SEGREDO='dsadsadsa'
- Crie um arquivo
-
Execute as migrações do banco de dados:
npx prisma migrate dev
-
Gere os clientes do Prisma:
npx prisma generate
-
Inicie o servidor backend:
npm run start:dev
-
Configuração do frontend:
- Abra um novo terminal e navegue até a pasta do frontend:
cd frontend-vite - Instale as dependências:
npm install
- Inicie o servidor de desenvolvimento:
npm run dev
- Abra um novo terminal e navegue até a pasta do frontend:
-
Criação da estrutura do banco de dados:
- Crie uma pasta
dbno caminho/backend/db. - Dentro dessa pasta, crie um arquivo
db.envcom o seguinte conteúdo:POSTGRES_USER=admin POSTGRES_PASSWORD=admin
- Crie uma pasta
-
Configuração dos arquivos de ambiente:
- Dentro da pasta
backend, crie dois arquivos.env:- .env (desenvolvimento):
DATABASE_URL="postgresql://admin:admin@localhost:5432/gcontas?schema=public" PORTA_SERVIDOR=3000 SEGREDO='segredo'
- env.prod (produção):
# Produção DATABASE_URL="postgresql://admin:admin@db-container:5432/gcontas?schema=public" PORTA_SERVIDOR=3000 SEGREDO='tstea'
- .env (desenvolvimento):
- Dentro da pasta
-
Configuração do Nginx para o frontend:
- Dentro da pasta
frontend-vite, crie uma pasta chamadanginx. - Dentro dessa pasta, crie um arquivo
nginx.configcom o seguinte conteúdo:server { listen 80; listen [::]:80 default ipv6only=on; root /usr/share/nginx/html; index index.html; server_name _; # all hostnames location / { try_files $uri /index.html; } }
- Dentro da pasta
-
Subindo os containers com Docker:
docker-compose up
-
Executar em background:
docker-compose up -d
Após seguir esses passos, seu sistema estará configurado e pronto para uso!
- Certifique-se de que o banco de dados PostgreSQL está configurado e em execução.
- No terminal, navegue até o diretório raiz do projeto.
- Execute o seguinte comando para iniciar o servidor:
npm run start:dev- O servidor NestJS será iniciado e estará ouvindo as requisições na porta definida.
- Use as rotas e endpoints disponibilizados pelo servidor para criar, armazenar e gerenciar as informações de login dos usuários.
O Gconta foi criado por João Guilherme, um desenvolvedor de software apaixonado por segurança e privacidade. O projeto foi desenvolvido com o objetivo de fornecer uma solução confiável e escalável para o armazenamento de dados de login de usuários.
Joao Guilherme 🚀
Done with 🤭 by Joao Guilherme 👋🏽 Entre em contato logo abaixo!
