Giter Site home page Giter Site logo

dev-luizf / blog-app Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 583 KB

Este projeto foi desenvolvido durante um desafio técnico, o objeto era desenvolver um projeto fullstack de um sistema de blog com funcionalidades com um CRUD de posts e autenticação de usuário.

Home Page: https://dev-luizf-blog.vercel.app/

JavaScript 1.97% TypeScript 96.55% HTML 0.56% CSS 0.09% Dockerfile 0.83%

blog-app's Introduction

Blog app

Este projeto foi desenvolvido durante um desafio técnico, o objeto era desenvolver um projeto fullstack de um sistema de blog com funcionalidades com um CRUD de posts e autenticação de usuário.

Tecnologias utilizadas

  • Nest.js: Framework para desenvolvimento de aplicações em Node.js.
  • Prisma ORM: ORM (Object-Relational Mapping) para bancos de dados SQL e NoSQL, oferecendo uma camada de abstração para interagir com o banco de dados.
  • Docker: Plataforma para desenvolvimento, envio e execução de aplicações em containers, permitindo a criação de ambientes isolados e portáteis.
  • Joi: Biblioteca para validação de dados em JavaScript, utilizada para definir regras e restrições nos formatos e estruturas dos dados.
  • React: Biblioteca JavaScript para a construção de interfaces de usuário interativas e reativas.
  • [Argon2]: Argon2 é uma função de hash de senha que é resistente a ataques de força bruta e de dicionário.
  • TailwindCSS: Framework de CSS utilitário que oferece uma abordagem baseada em classes para a criação rápida de layouts e estilos personalizados.
  • Axios: Biblioteca para realizar requisições HTTP em JavaScript, oferecendo uma interface simples e flexível para interagir com APIs.
  • React Router Dom: Biblioteca para roteamento de aplicações React, permitindo a navegação entre diferentes componentes ou páginas da aplicação de forma declarativa.

Deploy

Para fins de organização no GitHub e facilidade na hora de mostrar o projeto, decidi cria-lo como monorepo e fazer o deploy na Vercel e Railway. Seguem os links:

Como rodar a aplicação

Localmente:

  1. Instale as dependências na pasta /blog-api e na pasta /blog-ui: npm install

  2. Crie um arquivo .env na pasta /blog-api/ com as seguintes variáveis:

DATABASE_URL="postgresql://seu-usuario:sua-senha@localhost:5432/seu-banco"
JWT_SECRET="seu-secret"
  1. Inicie o servidor de ambas as pasta, para a pasta "/blog-ui" use npm run dev, já para a pasta "/blog-api" use npm run start:dev:

  2. Acesse o app em http://localhost:3000.

Com docker:

  1. Crie um arquivo .env na raiz do projeto com as variáveis de ambiente:
DATABASE_URL="postgresql://seu-usuario:sua-senha@localhost:5432/seu-banco"
JWT_SECRET="seu-secret"
POSTGRES_USER="seu-usuario" 
POSTGRES_PASSWORD="sua-senha" 
POSTGRES_DB="seu-banco"
  1. Rode o Docker Compose:

docker-compose up --build -d

  1. Acesse o app em http://localhost:3000.

Testando online

Se preferir você pode testar online. Basta acessar o link e entrar com o usuário "luiz" e senha "123456teste".

blog-app's People

Contributors

dev-luizf avatar tarcisiopgs avatar deividalan avatar tiagopedrosoftmakersbr avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.