Aplicação para gerenciamento de receitas onde os usuários podem cadastrar comidas, ingredientes e modos de preparo, visualizando apenas seus próprios registros. O sistema oferece uma navegação intuitiva e organizada, permitindo também a inclusão de favoritos.
O gitFood permite que os usuários possam cadastrar suas próprias receitas, ingredientes e modos de preparo, organizados e vinculados às suas contas. O objetivo é fornecer uma ferramenta prática para armazenar e consultar receitas de maneira personalizada e fácil de navegar.
As funcionalidades incluem:
- Autenticação e login de usuários;
- Adição e consulta de receitas, ingredientes e modos de preparo;
- Listagem personalizada por usuário;
- Favoritos para receitas mais acessadas.
A interface é desenvolvida com Bootstrap e a aplicação é dividida entre frontend e backend, com banco de dados para gerenciar os relacionamentos entre usuários, receitas, ingredientes e modos de preparo.
Para configurar o projeto localmente, siga os passos abaixo:
-
Clone o repositório:
git clone https://github.com/joaobeji/piProgWeb.git
Ou clique em Code -> Download ZIP para baixar o projeto.
-
Instale o NodeJS (caso ainda não tenha) acessando: NodeJS Download
-
Instale o MySQL (caso ainda não tenha) acessando: MySQL Download
- Baixe a versão MySQL Installer for Windows.
- Abra o MySQL Workbench 8.0 CE e crie o banco de dados:
- Nome do banco de dados:
receitas_db
- Importe o arquivo
receitas_db.sql
, localizado na pasta clonada ou baixada.
- Nome do banco de dados:
-
Acesse a pasta clonada ou baixada via terminal e execute o comando abaixo para instalar as dependências:
npm install
-
Após a instalação, inicie o projeto com o comando:
node app.js
- A aplicação estará em execução na porta indicada no terminal (normalmente, http://localhost:3000).
- Caso prefira, o projeto também pode ser acessado online: GitFood Online
- Cadastro e Login de Usuários – Permite o cadastro seguro de novos usuários e login com credenciais.
- Gerenciamento de Receitas – Cadastro, edição e exclusão de receitas, ingredientes e modos de preparo.
- Favoritos – Adicionar e consultar receitas favoritas.
- Visualização Personalizada – Listagem de conteúdos restrita ao usuário logado.
- Segurança de Dados – Proteção de senhas com bcrypt e uso de express-session para sessões de login.
- JavaScript
- NodeJS
- MySQL
- Express
- EJS
- bcrypt
- dotenv
- express-session
- mysql2
- nodemailer
- Render (Hospedagem)
- Freedb.tech (Banco de Dados Online)
- Gabriel Santos da Silva Barbosa
- Karoline dos Santos Pereira
- Maria Vitória Ferreira dos Santos
- Mateus Lucas da Silva Santos
- Maurício Ferro da Silva
- Nataniel Barboza da Silva