Skip to content

O Gconta é um projeto para armazenar dados de login de usuários em um sistema de forma segura

License

Notifications You must be signed in to change notification settings

JoaoG23/GContas

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Gconta

Introdução

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.

Tecnologias utilizadas

My Skills

  • Node.js
  • TypeScript
  • NestJS
  • Prisma ORM
  • PostgreSQL
  • React
  • Styled-componets
  • React-query
  • React-hook-form
  • Vite

Como instalar

Pré-requisitos

  • Node.js instalado
  • Docker instalado (caso opte por usar Docker)

Instalação e Configuração sem Docker

  1. Instale as dependências do projeto:

    npm install
  2. Configure o banco de dados:

    • Crie um arquivo .env na raiz do projeto backend com o seguinte conteúdo:
      DATABASE_URL="postgresql://admin:admin@localhost:5432/gcontas?schema=public"
      PORTA_SERVIDOR=3000
      SEGREDO='dsadsadsa'
  3. Execute as migrações do banco de dados:

    npx prisma migrate dev
  4. Gere os clientes do Prisma:

    npx prisma generate
  5. Inicie o servidor backend:

    npm run start:dev
  6. 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

Instalação e Configuração com Docker

  1. Criação da estrutura do banco de dados:

    • Crie uma pasta db no caminho /backend/db.
    • Dentro dessa pasta, crie um arquivo db.env com o seguinte conteúdo:
      POSTGRES_USER=admin
      POSTGRES_PASSWORD=admin
  2. 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'
  3. Configuração do Nginx para o frontend:

    • Dentro da pasta frontend-vite, crie uma pasta chamada nginx.
    • Dentro dessa pasta, crie um arquivo nginx.config com 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;
          }
      }
  4. Subindo os containers com Docker:

    docker-compose up
  5. Executar em background:

    docker-compose up -d

Após seguir esses passos, seu sistema estará configurado e pronto para uso!

Como usar

  1. Certifique-se de que o banco de dados PostgreSQL está configurado e em execução.
  2. No terminal, navegue até o diretório raiz do projeto.
  3. Execute o seguinte comando para iniciar o servidor:
npm run start:dev
  1. O servidor NestJS será iniciado e estará ouvindo as requisições na porta definida.
  2. Use as rotas e endpoints disponibilizados pelo servidor para criar, armazenar e gerenciar as informações de login dos usuários.

Criador do projeto

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.

avatar

Joao Guilherme 🚀

Done with 🤭 by Joao Guilherme 👋🏽 Entre em contato logo abaixo!

Linkedin Badge Badge

Licença

Licence

About

O Gconta é um projeto para armazenar dados de login de usuários em um sistema de forma segura

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages