Skip to content

emanuelmassafera/foodfy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

89 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Chef

Foodfy

🍴 Site de receitas chamado Foodfy 🍴

🚧 Concluído 🚀 🚧


Tabela de conteúdos


Sobre o projeto

Foodfy é um site de receitas completo, que conta com parte de visita ao público e parte administrativa. Nele é possível cadastrar usuários, chefs e, claro, receitas! Foi desenvolvido com JavaScript em toda stack e utiliza o banco de dados relacional PostgreSQL. O escopo e as orientações para realização deste projeto são do Bootcamp LaunchBase, da Rocketseat.


Tecnologias


Funcionalidades

  • Controle de sessão (login e logout)
  • Cadastro de usuários
  • Edição de usuários
  • Remoção de usuários
  • Listagem de usuários
  • Recuperação de senha
  • Cadastro de chefs
  • Edição de chefs
  • Remoção de chefs
  • Listagem de chefs
  • Cadastro de receitas
  • Edição de receitas
  • Remoção de receitas
  • Listagem de receitas
  • Pesquisa de receitas

Layout

Seção de acesso público

Gif

Seção de acesso privado

Gif Responsividade


Como executar o projeto

Antes de começar, você vai precisar ter instalado em sua máquina as seguintes ferramentas: Git e Node.js. Para trabalhar com o código, é recomendável o uso de um bom editor, como o VSCode.

O primeiro passo é clonar este repositório

Clonando o repositório

# Clone este repositório
$ git clone https://github.com/emanuelmassafera/foodfy.git

# Acesse a pasta do projeto pelo terminal/cmd
$ cd foodfy

# Instale as dependências
$ npm install

O passo seguinte é configurar o banco de dados

Configurando o banco de dados

Instale em seu computador o PostgreSQL e o Postbird. Finalizando as instalações, ligue o PostgreSQL.

No Windows, o processo para ligá-lo segue os seguintes passos:

# Abra o Powershell como administrador, e navegue até a pasta de instalação
$ cd "C:\Program Files\PostgreSQL\12\bin\"

# Inicie o postgres com o comando abaixo
$ .\pg_ctl.exe -D "C:\Program Files\PostgreSQL\12\data" start

# Após o uso, o comando para desligá-lo é
$ .\pg_ctl.exe -D "C:\Program Files\PostgreSQL\12\data" stop

Depois de ligar o PostgreSQL, acesse o Postbird e crie um banco de dados com o nome de foodfy. Feito isso, clique na opção de importar um arquivo .sql e importe o arquivo foodfydb.sql presente neste respositório. Você pode checar se o banco foi importado verificando suas tabelas. Se tudo deu certo até aqui, o seu banco de dados já está criado.

Observações

Você deverá indicar suas informações de usuário e senha do postgres no arquivo db.js.

Populando o banco de dados

Para popular o banco de dados com informações fakes e geradas automaticamente, abra o terminal no diretório do projeto e execute o comando:

$ node seeds.js

Por fim, o último passo é configurar o Mailtrap

O Mailtrap será responsável por simular uma caixa de e-mails para as funcionalidades de criar um usuário (a senha de acesso será enviada por e-mail) e de recuperar a senha.

Configurando o Mailtrap

Entre no site do Mailtrap e faça seu cadastro. Quando já estiver cadastrado, acesse a aba Inboxes, crie uma nova inbox com o nome de foodfy, entre no seção SMTP Settings e mude Integrations para Nodemailer. Agora copie o código gerado, cole no arquivo mailer.js e faça algumas pequenas alterações para que fique semelhante a este:

const nodemailer = require("nodemailer");

module.exports = nodemailer.createTransport({
    host: "smtp.mailtrap.io",
    port: 2525,
    auth: {
        user: "64c928ef98456a",
        pass: "b296d458814028"
    }
});

É importante que o código preenchido no aquivo mailer.js seja o gerado em sua conta do Mailtrap, caso contrário você não receberá os e-mails corretamente.

Executar o projeto.

Finalizando todos os passos descritos acima com sucesso, agora podemos executar o projeto.

Executando o projeto

# Acesse a pasta do projeto pelo terminal/cmd
$ cd foodfy

# Execute a aplicação
$ npm start

# O servidor inciará na porta:3000 - acesse http://localhost:3000

Observações

Ao acessar localhost:3000 você estará na seção pública do foodfy. Para ter acesso ao setor administrativo entre em localhost:3000/admin. O administrador padrão do sitema tem o email admin@admin.com e senha admin. Os outros usuários que são gerados automaticamente possuem e-mails aleatórios e senha 1234.

Pode ser que ao deletar um dos registros gerados automaticamente com o seeds, a imagem de referência de todos os outros seja perdida. Caso isto ocorra, crie outra imagem com o nome de placeholder.png na pasta public/images.


Autor

Emanuel Massafera

Badge Badge


Licença

Esse repositório está licenciado pela MIT LICENSE. Para informações detalhadas, leia o arquivo LICENSE.

Made with ♥ by Emanuel Massafera 👋 Get in touch!