Skip to content

LucasMS115/Restaurante

Repository files navigation

Restaurante

Running here: https://restaurante-sintese.netlify.app/#/ OBS: the project back-end was running with heroku free dynos. So, it is not running anymore :(

SPA template for a restaurant with a reservation, login and adm systems using Node.js, Postgresql, Sequelize and React.js

Security features have not yet been implemented, the adm and reserves systems might need some upgrades as well :)

To run the backend locally use a DB on Postgresql, the connection is done in "./src/config/databese.js", run " ... sequelize db:migrate" to create the tables.

Scripts:

server -> run the back-end locally

client -> run the front-end

dev -> run both

This project was bootstrapped with Create React App.

------------------------------------------------------------------------------------------------------------------------------

O projeto consiste em uma ideia de SPA para um sistema de reservas online de um restaurante, ele se encontra funcional e responsivo, porém não foram implementadas medidas de segurança em relação ao login dos usuários. Ele contém uma home page de apresentação, uma página com os formulários para a realização das reservas, uma página de cardápio que mostra pratos e preços e possui alguns filtros por tipo, uma página de login, uma página do usuário onde é possível visualizar as reservas feitas ou alterar informações cadastrais. Também há uma página de administrador para a visualização das reservas feitas e gerência dos pratos disponíveis no cardápio.

O back-end consiste de uma restfull API feita em Node.js, PostgreSQL e Sequelize ORM, esta se encontra na pasta raiz deste repositório. O front-end foi feito em React.js e se encontra na pasta “client” deste repositório.

Rodando o projeto localmente

Para rodar o back-end localmente, clone este repositório normalmente e execute o comando npm install na pasta raiz, para instalar as dependências do back-end, mude para o diretório client e execute o mesmo comando para instalar as dependências do front.

Apenas isto já torna possível a execução local do front, basta executar o comando npm run client no diretório raiz, ou npm run start no diretório client. A aplicação iniciará na porta 3000 do seu localhost utilizando a API hospedada no https://www.heroku.com/.

Para utilizar uma API local, crie um BD no PostgresSQL da maneira que preferir, e crie um arquivo “.env” na pasta raiz do projeto com as variáveis a seguir e preencha de acordo com as informações do seu banco.

NODE_ENV=dev
APP_URL= onde a aplicacao iniciará (ex: http://localhost:5000)
DATABASE_URL=postgres://postgres:@:5432/
USER=postgres
PASSWORD=
DATABASE=
HOST=seu host (ex: 127.0.0.1)

Após feita a conexão, execute o comando npx sequelize-cli db:migrate para rodar as migrations e criar as tabelas no seu BD.

Para conectar a sua API local ao front basta mudar a url presente no início do arquivo ./client/src/Api.js para onde ela esteja rodando.

Pode ser útil a consulta a documentação do Sequilize caso ocorra algum imprevisto. https://sequelize.org/master/index.html Vale lembrar também que a configuração de conexão do sequelize está em ./src/config/database.js .

Para iniciar apenas o server da API, npm run server na pasta raiz, para iniciar a API local e o front, npm run dev na raiz.

Nem todas as funcionalidades presentes na API são utilizadas de fato no projeto, todas as funções estão em ./src/sql/controllers/ . OBS: as funcionalidades relacionadas a upload de imagens só funcionam rodando localmente, elas foram testadas no back porém não foram implementadas no front, imagens carregadas ficam na pasta ./uploads.

Alguns vídeos que serviram como base para a construção da aplicação:

-Iniciando com react

https://youtu.be/sBws8MSXN7A

https://youtu.be/Law7wfdg_ls

-Context API

https://youtu.be/FVxdFxxkdDI

Nav-bar responsiva com styled-components

https://youtu.be/GGkBwpxV7AI

- Sequelize

https://youtu.be/mpKXSe08yqA
https://youtu.be/Fbu7z5dXcRs

-A respeito do upload de imagens:

https://youtu.be/MkkbUfcZUZM

Link do design original: https://www.figma.com/file/80SIALyhhM0GZ34m5YzGsG/Restaurante-S%C3%ADntese?node-id=0%3A1

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages